![](/img/trans.png)
[英]MATLAB OOP : How do I call a method on an object of class A from inside a method in an object of class B?
[英]How do I call get method in matlab?
classdef Untitled
enumeration
M('monday','first day')
T('tuesday','second day')
end
properties(SetAccess=private)
name
description
end
methods
%constructor
function obj = Untitled(name, description)
obj.name = name
obj.description = description
end
%getter
function name = get.name(obj)
end
%getter
function description = get.description(obj)
end
end
end
创建无标题实例后,如何在命令窗口中调用get方法? 我是Matlab的新手,不确定是否有可能,因为我读到不能直接调用getter和setter吗?
您提供的代码有两个问题。 首先,枚举类是Matlab中的一种特殊类型的类。 您可能需要阅读有关Matlab中一般的枚举类及其限制的更多信息 。
如果我假设您不是要创建枚举类,而是删除函数的那一部分,那么下一个问题是您的吸气剂什么也不做。 您至少应该这样做:
function name = get.name(obj)
name = obj.name
end
但是,如果您要做的只是返回属性的值,则甚至不需要创建get函数。 这是一些有效的代码:
classdef Untitled
properties(SetAccess=private)
name
description
end
methods
%constructor
function obj = Untitled(name, description)
obj.name = name;
obj.description = description;
end
end
end
然后,您可以执行以下操作:
myobj = Untitled('myname','mydesc');
myobj.name
myobj.description
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.