两个班级:
classdef first < handle
methods
function hello(obj)
disp('hello ok')
obj_second.bye
end
end
end
和
classdef second < handle
methods
function bye(obj)
disp('bye ok')
end
end
end
我希望能够从obj_first调用obj_second.bye。
>> obj_first=first;
>> obj_second=second;
>> obj_first.hello
hello ok
Undefined variable "obj_second" or class "obj_second.bye".
Error in first/hello (line 5)
obj_second.bye
>>
obj_second似乎必须在类“first”中构造才能被这个类考虑;你觉得怎么样?
答案 0 :(得分:1)
在hello
方法中,您只能访问代表第一个类的当前实例的本地变量obj
来调用它(例如此处为obj_first
)并且可能是班级的properties
。但是您无法访问其他外部变量,例如obj_second
。
为此,您必须将其作为参数传递:
classdef first < handle
methods
function hello(obj, obj2)
disp('hello ok')
obj2.bye()
end
end
end
和
>> obj_first.hello(obj_second)