通常のメソッド
オブジェクトでの通常のメソッドの動作
通常のメソッドは、クラスのオブジェクトで動作する関数を定義します。したがって、入力引数の 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
クラス フォルダーについての詳細は、クラス定義を含むフォルダーを参照してください。