我有一个超类
classdef superclass
properties
a
b
methods
% constructor
function obj = superclass(a,b)
obj.a = a;
obj.b = b;
end
... some code...
function c = plus(obj1,obj2)
c = superclass(obj1.a+obj2.b,obj1.b)
end
(有很多类型检查和错误抛出,但这是它的要点)。这个类几乎所有的运算符都像这样重载。那些不是,抛出错误。现在我从中派生了另一个类,它添加了一些属性。
classdef subclass < superclass
properties
p
q
methods
... constructor and such...
end
现在,当我对这个类进行任何操作时,如添加它将返回超类的对象(因为我的重载加函数)。我看到解决这个问题的唯一方法是再次重载所有这些功能。这很乏味,有更好的方法吗?