Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

クラス ファイルとクラス フォルダー

クラス定義ファイル

拡張子 .m をもつファイルにクラス定義コードを記述します。ファイル名は、クラス名の後に拡張子 .m を付けたものと同じでなければなりません。

クラスを定義するコードの詳細については、クラスのコンポーネントを参照してください。

クラス フォルダーのオプション

クラス定義ファイルを含むフォルダーを作成するには 2 つの方法があります。

  • "パス フォルダー" — MATLAB® パス上にあるフォルダー。

  • "クラス フォルダー" — パス フォルダー内にあるフォルダーで、@ 記号とクラス名がその名前になります。次に例を示します。

    @MyClass

クラス フォルダーは MATLAB パスの直上にはありません。クラス フォルダーを含むパス フォルダーは MATLAB パス上にあります。

クラス ファイルのオプション

ファイルおよびフォルダーにクラスを指定するには 2 つの方法があります。

  • 自己完結した単一のクラス定義ファイルをパス フォルダーまたはクラス フォルダーに作成する。

  • 複数のファイルでクラスを定義する。この場合、パス フォルダー内の 1 つのクラス フォルダーを使用する必要があります。

自己完結した単一のクラス定義ファイルの作成

MATLAB® パス上のフォルダーに自己完結した単一のクラス定義ファイルを作成します。ファイル名はクラス (およびコンストラクター) の名前と一致し、.m 拡張子が付けられている必要があります。このファイル内でクラスを完全に定義します。このフォルダーには、他の単一ファイルのクラスを配置できます。

次の図は、このフォルダー構成の例を示しています。pathfolder は、MATLAB パス上のフォルダーです。

複数ファイルへのクラス定義の分散

複数のファイルを使用してクラスを定義する場合は、すべてのクラス定義ファイル (classdef とすべてのクラス メソッド ファイルを含むファイル) を単一の @ClassName フォルダーに配置します。このクラス フォルダーは、MATLAB パス上のフォルダー内になければなりません。1 つのクラス フォルダーには、クラスを 1 つだけ定義できます。

パス フォルダーには、クラス フォルダーで定義されているクラスと、クラス フォルダーを使用せずに単一のファイル内で定義されているクラスの両方を含めることができます。

パッケージ フォルダーによるクラスのグループ化

MATLAB パス上にあるのはパッケージ フォルダーの親フォルダーで、パッケージ フォルダー自体ではありません。パッケージ フォルダー (常に + 記号から始まる) には、複数のクラス定義、パッケージ スコープ関数および他のパッケージを格納することができます。パッケージ フォルダーは新しい名前空間を定義し、その中でクラス名を再利用することができます。パッケージ フォルダーで定義されたクラスと関数を参照するには、パッケージ名を使用します (例: packagefld1.ClassNameA()packagefld2.packageFunction())。

関連するトピック