ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

meta.MetaData クラス

パッケージ: meta
スーパークラス: matlab.mixin.Heterogeneous

MATLAB オブジェクトのメタデータのスーパークラス

説明

オブジェクトの meta.MetaData クラスは、MATLAB® クラス定義とそれらの定義の構成要素 (プロパティやメソッドなど) を表します。メタデータを使用すると、プログラムがクラス定義に関する情報を取得できます。

meta.MetaData クラスはメタデータ クラス階層のルートを形成し、そのルートに基づいて、それぞれ異なるクラスに属するメタデータ オブジェクトの配列を形成できます。

MATLAB は、欠けている配列要素を穴埋めするための既定のオブジェクトとして、meta.MetaData クラスのインスタンスを使用します。

findobj および findprop は、メタデータ階層内を検索してさまざまなメタデータ オブジェクトの配列を返します。これらの機能は、さまざまなメタクラス オブジェクトが含まれる異なるタイプの配列を形成する機能を必要とします。

異なるタイプの混合階層の詳細は、matlab.mixin.Heterogeneous クラスの説明を参照してください。

構築

meta.MetaData クラスのインスタンスを直接作成することはできません。このクラスのインスタンスは、必要に応じて MATLAB によって構築されます。

セマンティクスのコピー

ハンドル。コピー操作に対するハンドル クラスの影響については、MATLAB ドキュメンテーションの「オブジェクトのコピー」を参照してください。

この例は、meta.MetaData クラスによってメタクラスの操作がどのように容易になるかを示しています。

MATLAB timeseries クラスを表す meta.class インスタンスを作成します。

>> mc = ?timeseries;

MATLAB は、空の配列要素の穴埋めに meta.MetaData オブジェクトを使用します。

>> m(2) = mc
>> class(m(1))

ans =

meta.MetaData
>> class(m(2))

ans =

meta.class

アクセスが保護されているすべてのプロパティおよびメソッドを検索するには、findobj を使用します。

>> protectedMembers = findobj(mc,{'Access','protected'},...
'-or',{'SetAccess','protected'},...
'-or',{'GetAccess','protected'});

timeseries クラスは、アクセスが保護されるプロパティとメソッドを両方とも定義します。したがって、findobj はクラス meta.MetaData の異なるタイプの配列を返します。この配列には、meta.property オブジェクトと meta.method オブジェクトの両方が含まれます。

>> protectedMembers

protectedMembers = 

  11x1 heterogeneous meta.MetaData (meta.property, meta.method) 
  handle with no properties.
  Package: meta
>> class(protectedMembers(1))

ans =

meta.property

>> protectedMembers(1).Name

ans =

Length
>> protectedMembers(1).SetAccess

ans =

protected
>> protectedMembers(1).GetAccess

ans =

public

参考

|

操作のヒント

この情報は役に立ちましたか?