私は Matlab を初めて使用し、スーパークラス メソッドの呼び出しでいくつかの問題に直面しています。
私はこのコードを持っています:
スーパークラス test1:
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
継承は正しく機能します。スーパークラス関数は のスーパーtest1
クラスとして表示されtest
ます。ただし、 を呼び出すとtest2@test1(obj)
、エラーが返されます。
"@" メソッド内で、同じ名前のスーパークラス メソッドは、method@superclass と言って呼び出されます。「@」の左オペランドはメソッド名でなければなりません。
test
2 メソッドは明らかにスーパークラス内に存在するため、何が問題なのtest1
か正確にはわかりません。