このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
一部の例外(classdefファイルで定義しなければならないメソッドを参照)を除き,クラス定義ファイルとは別のファイルにクラスのメソッドを定義できます。
複数のファイルを使用してクラスを定義するには,@
で始まり,その後にクラス名が続く名前のフォルダーにクラスファイルを格納します。このフォルダーはクラスフォルダーと呼ばれます。クラスフォルダーの親フォルダーがMATLAB®パスにあることを確認してください。
クラスフォルダーが1つ以上のパッケージフォルダーに含まれている場合は,最上位のパッケージフォルダーがMATLABパス上になければなりません。
たとえば,@MyClass
というフォルダーには,classdef
ブロックを含むMyClass.m
ファイルがなければなりません。さらにこのフォルダーには,00
拡張子をもつ他のファイルで定義された,他のメソッドと関数が含まれます。@MyClass
フォルダーにはいくつかのファイルを含めることができます。
@MyClass / MyClass。m @MyClass / subsref。m @MyClass / subsasgn。m @MyClass / horzcat。m @MyClass / vertcat。m @MyClass / myFunc.m
MATLABはクラスフォルダー内のすべての関数ファイルをクラスのメソッドとして扱います。関数ファイルにはMATLABコード(00
),ライブコードファイル形式(.mlx
),墨西哥人関数(プラットフォーム依存の拡張子),およびPコードファイル(每分钟
)を使用できます。ファイルのベース名は、有効な MATLAB 関数名でなければなりません。有効な関数名は、アルファベットで始まり、文字、数字またはアンダースコアを含むことができます。
c++墨西哥人関数としてメソッドを定義する方法の詳細については,MATLABクラスメソッドに対する墨西哥人関数の使用を参照してください。
メソッドをクラスフォルダー内の別のファイルで定義するには,ファイル内に関数を作成します。そのファイルでは方法
-结束
キーワードを使用しないでください。関数の場合と同様に、関数名を使用してそのファイルに名前を付けます。
myFunc.m
ファイルに次のメソッドを実装します。
函数输出= myFunc (obj, __arg1最长)...%的代码在这里结束
方法ブロック内のclassdef
ファイルで関数シグネチャを宣言しておくことをお勧めします。
classdefMyClass方法输出= myFunc (obj, __arg1最长)结束...结束
classdef
ファイルでのメソッド属性の指定別の関数ファイルで定義したメソッドにメソッド属性を指定する場合は,classdef
ファイルの方法
ブロックにメソッドのシグネチャを含めます。この方法ブロックは,メソッドに適用される属性を指定します。
たとえば次のコードは,方法
ブロック内で访问
が私人
に設定されているメソッドを示しています。メソッドの実装は別のファイルにあります。函数
または结束
キーワードは方法
ブロックに含めないでください。入力引数および出力引数の表記された関数シグネチャのみを含めます。
classdefMyClass方法myFunc(obj,arg1,arg2) = myFunc(obj,arg1,arg2)结束结束
@MyClass
フォルダーのmyFunc.m
というファイルで,次の関数を定義します。
函数输出= myFunc (obj, __arg1最长)...结束
静的メソッドを作成するには,メソッドの静态
属性を真正的
に設定し,classdef
ファイル内の静的メソッドに関数シグネチャをリストします。関数名と共に,入力引数と出力引数を含めます。次に例を示します。
classdefMyClass...方法(Static) output = staticFunc1(arg1,arg2结束...结束
同じ関数シグネチャを使用して,別のファイルで関数を定義します。たとえば,ファイル@MyClass / staticFunc1.m
で次のようにします。
函数输出= staticFunc1 (__arg1、最长)...结束
また,@Myclass / staticFunc2.m
で次のようにします。
函数staticFunc2...结束
classdef
ファイルで定義しなければならないメソッド次のメソッドはclassdef
ファイルで定義します。これらのメソッドを別ファイルで定義することはできません。
クラスコンストラクター
関数名にドットを使用する関数。以下が含まれます。
クラスがパッケージに含まれているため,パッケージ名をクラス名の一部として使用しなければならないコンバーターメソッド
プロパティの设置および得到アクセスメソッド