如何分配给对象的超类?
例子:
classdef foo < bar
...
methods
function this = barSet(this,b)
% Here I want to arrange that bar(this) == b
end
end
end
我如何(或可以)实施barSet
?
如何分配给对象的超类?
例子:
classdef foo < bar
...
methods
function this = barSet(this,b)
% Here I want to arrange that bar(this) == b
end
end
end
我如何(或可以)实施barSet
?
当搞乱基类时,你应该使用@
-syntax(在这里阅读)。例如:
classdef foo < bar
...
methods
function this = barSet(this,b)
%# call method in bar
barSet@bar(this, b);
...
end
end
end
该方法barSet
是foo
和中的一种方法bar
。
这是 Matlab 扩展重载方法的方式:如果省略 中的barSet(this,b)
定义foo
,则调用
F = foo;
F.barSet(5);
将使用参数调用barSet
类中的方法。如果你定义它,该方法可以完全做其他事情,或者首先做版本中所做的事情,然后是更专业的东西(上面写为)。bar
5
bar
'...'
现在这有帮助吗?因为我并不完全清楚你想要什么。我不明白你的意思bar(this) == b
- 是orb
的一个实例?你是什么意思?复制构造函数?那么我是否正确理解您的意思是您想用实例覆盖实例?foo
bar
bar(this)
this
b