Main Content

通常のメソッド

オブジェクトでの通常のメソッドの動作

通常のメソッドは、クラスのオブジェクトで動作する関数を定義します。したがって、入力引数の 1 つが、定義クラスのオブジェクトまたはオブジェクトの配列でなければなりません。これらのメソッドは、オブジェクト データに基づく値の計算、MATLAB® 組み込み関数のオーバーロード、その他のメソッドおよび関数の呼び出しを行うことができます。通常のメソッドは、変更されたオブジェクトを返すことができます。

classdef ブロック内のメソッド

次の例は、classdef ブロックと methods ブロック内でのメソッド (methodName) の定義を表します。

classdef ClassName
   methods (AttributeName = value,...)
      function methodName(obj,args)
         % method code
         ...
      end 
      ...
   end % end of method block
   ...
end 

メソッド属性は、end ステートメントで終了する、特定の methods ブロックにのみ適用されます。

メモ

静的でないメソッドは、明示的なオブジェクト変数を関数引数として含まなければなりません。MATLAB 言語は、メソッド関数の定義での暗黙的な参照をサポートしません。

メソッドの例

addData メソッドは、MyData オブジェクトの Data プロパティに値を追加します。関数 mustBeNumeric は、Data プロパティの値を数値に制限します。プロパティには既定値 0 が定義されています。

addData メソッドは変更されたオブジェクトを返します。これは同じ変数に割り当てることができます。

classdef MyData
   properties
      Data {mustBeNumeric} = 0
   end
   methods
      function obj = addData(obj,val)
         if isnumeric(val)
            newData = obj.Data + val;
            obj.Data = newData;
         end
      end
   end
end
a = MyData;
a = addData(a,75)
a = 

  MyData with properties:

    Data: 75

メソッド ファイル

以下の場所にメソッドを定義できます。

  • クラス定義ブロック内

  • クラス フォルダー (@ClassName フォルダー) にある別のファイル内

クラス フォルダーについての詳細は、クラス定義を含むフォルダーを参照してください。

関連するトピック