ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

meta.class

MATLAB のクラスの記述

説明

meta.class クラスのインスタンスには、MATLAB® のクラスに関する情報が含まれています。meta.class クラスの読み込み/書き込みプロパティは、クラス属性に相当し、classdef 行上のクラス定義内からのみ指定されます。meta.class オブジェクトの読み取り専用プロパティをクエリして、クラスによって構文的に指定された情報を取得することができます (クラス名を取得するなど)。

meta.class オブジェクトを直接インスタンス化することはできません。meta.class オブジェクトをクラスのインスタンスからまたはクラス名を使用して作成することができます。

  • metaclass — 引数として渡されるオブジェクトを表す meta.class オブジェクトを返します。

  • ?ClassName - 名前の付いたクラスを表す meta.class オブジェクトを返します。

  • fromName — この静的メソッドは、名前の付いたクラスを表す meta.class オブジェクトを返します。

たとえば、関数 metaclass は、MyClass を表す meta.class オブジェクトを返します。

ob = MyClass;
obmeta = metaclass(ob);
obmeta.Name
ans =
MyClass

クラス名を使用して、meta.class オブジェクトを取得することができます。

obmeta = ?MyClass;

また、fromName 静的メソッドを使うこともできます。

obmeta = meta.class.fromName('MyClass');

プロパティ

プロパティ目的

Abstract 属性、既定の設定 = false

true の場合、このクラスは抽象クラスです (インスタンスを作成できません)。

詳細については、抽象クラスを参照してください。

ConstructOnLoad 属性、既定の設定 = false

true の場合、MATLAB は MAT ファイルからオブジェクトを読み込むときにクラス コンストラクターを自動的に呼び出します。したがって、このコンストラクションは、引数なしで呼び出されてもエラーが生じないように作成しなければなりません。

オブジェクトの保存と読み込みのプロセスを参照してください。

ContainingPackage 読み取り専用

meta.package オブジェクトは、このクラスの保存先となるパッケージを記述します。ただし、このクラスがパッケージ内にない場合には、空オブジェクトになります。

パッケージによる名前空間の作成を参照してください。

Description 読み取り専用

現在使用されていません。

DetailedDescription 読み取り専用

現在使用されていません。

Enumeration 属性、既定の設定 = false

true の場合、このクラスは列挙型クラスです。列挙型クラスの定義を参照してください。

EventList 読み取り専用

meta.event オブジェクトの配列。このクラスで定義される各イベント (継承されたすべてのイベントを含む) を記述します。

イベントを参照してください。

EnumerationMemberList

meta.EnumeratedValue オブジェクトの配列。列挙型クラスで定義されるメンバー名を記述します。

列挙型クラスの詳細は、列挙型を参照してください。

Hidden 属性、既定の設定 = falsetrue に設定された場合、クラスはクラス名を表示する MATLAB コマンドまたはツールの出力に表示されません。
InferiorClasses 属性、既定の設定 = {}

meta.class オブジェクトの cell 配列。このオブジェクトは、リストで表現されるクラスの存在をこのクラスの下位として定義します。

クラスの優先順位を参照してください。

MethodList 読み取り専用

meta.method オブジェクトの配列。このクラスで定義される各メソッド (継承されたすべてのパブリック メソッドと保護されたメソッドを含む) を記述します。

クラス設計でのメソッドを参照してください。

Name 読み取り専用この meta.class オブジェクト (char 配列) に関連付けられたクラスの名前。
PropertyList 読み取り専用

meta.property オブジェクトの配列。このクラスで定義される各プロパティ (継承されたすべてのパブリック プロパティと保護プロパティを含む) を記述します。

プロパティを参照してください。

RestrictsSubclassing 読み取り専用

クラスが Sealed ではなく、かつクラス定義に AllowedSubclasses の空のリストがある場合、このプロパティは false に設定されます。クラスが Sealed であるか、クラスに任意の AllowedSubclasses を指定している場合、このプロパティは true に設定されます。

許可されたサブクラスの指定を参照してください。

Sealed 属性、既定の設定 = false

true に設定されている場合、クラスはサブクラス化できません。

SuperclassList 読み取り専用

meta.class オブジェクトの配列。このクラスの派生元となる直接の各スーパークラスを記述します。

サブクラス コンストラクターの設計を参照してください。

メソッド

メソッド目的
fromName指定されたクラス名に関連付けられた meta.class オブジェクトを返します。
tf = eq(Cls)等式関数 (a == b)。これを使用して、2 つの変数が等しいクラス (まったく同じ要素のリストを含んでいるクラス) を参照しているかどうかをテストします。
tf = ne(Cls)非等式関数 (a ~= b)。これを使用して、2 つの変数が異なるメタクラスを参照しているかどうかをテストします。
tf = lt(ClsA,ClsB)小なり関数 (ClsA < ClsB)。これを使用して、ClsAClsB の厳密なサブクラスである (つまり、厳密なサブクラスとは、ClsX < ClsXfalse である) かどうかを判断します。
tf = le(ClsA,ClsB)小なりまたは等しい関数 (ClsA <= ClsB)。これを使用して、ClsAClsB のサブクラスであるかどうかを判断します。
tf = gt(ClsA,ClsB)大なり関数 (ClsA > ClsB)。これを使用して、ClsAClsB の厳密なスーパークラスである (つまり、厳密なスーパークラスとは、ClsX > ClsXfalse である) かどうかを判断します。
tf = ge(ClsA,ClsB)大なりまたは等しい関数 (ClsA >= ClsB)。これを使用して、ClsAClsB のスーパークラスであるかどうかを判断します。

イベント

イベント目的

InstanceCreated

クラスがハンドル クラスの場合、このハンドル クラスの新規インスタンス (サブクラスの新規インスタンスを含む) が作成されるたびに、このイベントが発生します。このイベントは、すべてのコンストラクター関数が実行を終了すると直ちに発生します。

InstanceDestroyed

クラスがハンドル クラスの場合、このハンドル クラスのインスタンス (すべてのサブクラスを含む) が破棄されるたびに、このイベントが発生します。このイベントは、いずれかのデストラクター関数が実行される直前に発生します。

handle クラス findobj メソッドと audioplayer meta.class オブジェクトを使用して、プロパティ属性を確認します。クラスが SampleRate という名前のプロパティを定義し、パブリックの set アクセスをもっているかどうかを判別します。

mc = ?audioplayer;
mp = findobj(mc.PropertyList,'Name','SampleRate');
strcmp(mp.SetAccess,'public')
   ...