MATLAB OOP,我可以调用调用类的方法吗?
问题描述:
例如: 我有两个这样的班级: 在B级评论里面找一个问题,向下。MATLAB OOP,我可以调用调用类的方法吗?
classdef A < handle
properties
classBobj; % class B is a property of class A
end
methods
MethodFromA (obj)
end
end
end
classdef B <handle
methods
MethodFromB (obj)
% I is possible to call class A method MethodFromA here
end
end
end
答
有两种方式,这是可能的:
-
您尝试调用从A类的静态方法,但那么你必须将它定义为这样的:
classdef A < handle properties classBobj; % class B is a property of class A end methods (Static) MethodFromA() end end
这可以在您的代码中随处调用(不参考A的实例)如下A.MethodFromA()
- 你有你的中A类的实例的引用,因此而不是调用
MethodFromB(obj)
,你都应该MethodFromB(obj, classAobj)
你能澄清你的问题?你遇到的错误是什么?此外,类def是无效的matlab代码。 – bdecaf 2013-03-07 10:17:04
你是什么意思? http://www.mathworks.com/help/matlab/ref/classdef.html 我只是想从类B中调用类A中定义的方法。类B是类A的属性。就像在上面的示例代码。 – Vladimir 2013-03-07 10:29:48
显然,你可以运行'objectA.MethodFromA()'。试着给一个简单的工作例子(目前不是),那么我们可以讨论这个问题。 – bdecaf 2013-03-07 10:52:21