1

私はMATLABでのオブジェクト指向プログラミングから始めていますが、MATLABは静的型定義を備えていないため、オブジェクトを他のオブジェクトに渡すのに最適な方法について混乱しています。

私には3つの異なるクラスがあり、そのすべてにいくつかの定数が含まれています。ここで、3番目のクラスのメソッドの2つのクラスで定義された定数を使用したいのですが、これをどのように行う必要がありますか?クラスは階層にありません。

だから、私はC++の#includeのようなものを探しています。

以下に示す問題。const1とconst2にアクセスするための「*Object1」と「*Object2」の参照を作成するにはどうすればよいですか?

classdef Object1

    properties (Constant)
        const1 = 100;
    end

    methods
        function Obj1 = Object1()
        end
end

classdef Object2

    properties (Constant)
        const2 = 200;
    end

    methods
        function Obj2 = Object2()
        end
end

classdef Object3

    properties (Immutable)
        property3
    end

    methods
        function Obj3 = Object3()
            Obj3.property3 = *Object1.const1 + *Object2.const2;
        end
end
4

1 に答える 1

2

アスタリスクを削除するだけで、必要なものが揃っていると思います。

コードには他にもいくつかの構文エラーがあります(に置き換えImmutableて、不足しているsをsにSetAccess = immutable追加します)が、これらの変更を行うと、次のようになります。endclassdef

a = Object3
a = 
  Object3

  Properties:
    property3: 300
  Methods

一般に、Constant別のクラスのプロパティを参照するには、プロパティの前にクラス名(クラスがパッケージ内にある場合はパッケージ名)を付けるだけです。

于 2013-01-18T16:13:43.070 に答える