2012-05-08 19 views
3

1つのファイルにクラスを定義し、そのメソッドを他のいくつかのファイルに定義したいと考えています。別ファイルで定義されたメソッドを使用する(@フォルダー内の)MATLABでクラスを定義するにはどうすればよいですか?

明らかに、これを行う方法は、クラスフォルダに@<ClassName>という名前のサブフォルダを作成し、すべてのメソッドファイルをいわゆる "@フォルダー"に入れることです。

しかし、いったん@ -folderを作成すると、@ -folderのメソッドを認識させるために、クラス定義ファイルに何を入れるべきかわかりません。

classdef myClass 

    properties 
     myProperty = 0; 
    end 

    methods 
     %# 
     %# --- What goes here? --- 
     %# 
    end 
end 

答えて

3

あなたはfunctionキーワードを指定せずに関数のシグネチャを宣言し、そして最後にセミコロンで

classdef myClass 

    properties 
     myProperty = 0; 
    end 

    methods 
     retval = my_function (arguments); 
    end 
end 

その後、MATLABは../@MyClass/my_function.mと呼ばれるファイルを探して行きます。

+0

私は思っています*私の 'my​​_function'にデフォルト以外のアクセス権を持たせたい場合にのみ必要です - 'my_function'をprivate/staticなどと宣言できました。 – Edric

+0

私はあなたが必要と思わないセミコロン。私のためにうまく動作しません。 –

+0

@ Li-aungYipありがとうございます。何らかの理由で私は、正確な数字があるにもかかわらず、 "あまりにも多くの入力引数"があると言って、メソッドの1つを使用するとエラーが発生しますが、それは別の質問です。 – Will

関連する問題