我是 Matlab 的新手,在调用超类方法时遇到了一些问题。
我有这个代码:
超类测试1:
classdef test1 < handle
methods
function obj = test1()
end
function test2(obj)
disp(1);
end
end
end
子类测试:
classdef test < test1 & handle
properties
foo = 1;
end
methods
function obj = test()
obj = obj@test1();
end
function a = bar(obj)
superclasses(obj)
test2@test1(obj)
end
end
end
继承工作正常;superclasses 函数显示test1
为 的超类test
。但是,当我调用时test2@test1(obj)
,它会返回一个错误:
"@" 在一个方法中,通过method@superclass 调用同名的超类方法。“@”的左操作数必须是方法名。
2test
方法显然存在于超类test1
中,所以我不确定到底出了什么问题。