これは非常に基本的な質問だと思いますが、私はこれに固執しています。 MATLABには、スーパークラスsuper
とサブクラスsub
があります。スーパークラスのプロパティをサブクラスから変更する
今、私のサブクラスのスーパークラスのプロパティcolor
を変更しようとしています。だから私はやった次
classdef super < handle
properties
color = 'red';
end
methods
function obj = super()
% ...
end
function obj = change_color(obj)
obj.color = 'blue';
end
end
end
この
classdef sub < super
properties
name = 'car';
end
methods
function obj = sub()
obj = [email protected]();
obj.change_color();
end
end
end
次私は
super_obj = super();
sub_obj = sub();
をしましたが、結果は、私はスーパークラスのプロパティを変更し、代わりにしていないということであり、サブクラスの継承プロパティが変更されます。
super_obj.color = 'red';
sub_obj.color = 'blue';
が、私は事前に
super_obj.color = 'blue';
感謝をしたい:私は得ます。
*現在のインスタンス*の 'color'プロパティのみを変更できます。 2つの 'sub'インスタンスを作成すると、独立した色になります。 – Suever
しかし、継承されたサブクラス内からスーパークラスのプロパティを変更する可能性はありませんか? – Lemonbonbon
いいえ、理由のために継承は一方向にしか行きません。 2つの異なる値に色を変更したい2つのサブクラスがある場合はどうなりますか? – Suever