Main Content

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

meta.class クラス

パッケージ: meta
スーパークラス: meta.MetaData

MATLAB のクラスの記述

説明

meta.class クラスは、MATLAB® クラスについての説明的な情報を取得する方法を提供します。特定のクラスについて meta.class オブジェクトを作成することで、クラス定義についての情報を取得できます。

meta.class オブジェクトのいくつかのプロパティには、対応する MATLAB クラスで定義されたクラス属性の値が含まれています。これらのプロパティをクエリして、classdef ラインのクラス定義で構文的に指定されている情報を取得します。

他のプロパティには、クラスで定義されたプロパティ、メソッドおよびイベントのリストと、クラスがどのように定義されているかについての他の情報が含まれています。

meta.class オブジェクト プロパティの値を設定することはできません。プロパティをクエリすることができるだけです。

meta.class オブジェクトをクラスのインスタンスから、または以下のオプションを使用したクラス名を使用して作成します。

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

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

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

コンストラクターを呼び出して meta.class オブジェクトを直接インスタンス化することはできません。

meta.class クラスは handle クラスです。

クラスの属性

抽象型
true

クラス属性の詳細については、クラスの属性を参照してください。

プロパティ

すべて展開する

クラスの abstract 属性の値。logical 値として返されます。このプロパティの値は、クラス、任意のプロパティまたはメソッドで Abstract 属性が true に設定されている場合、true です。abstract クラスの詳細については、抽象クラスとクラス メンバーを参照してください。

例: classdef (Abstract = true) ...

データ型: logical

読み込み時のコンストラクターの呼び出し。logical 値として返されます。true の場合、MATLAB は MAT ファイルからオブジェクトを読み込むときにクラス コンストラクターを自動的に呼び出します。ConstructOnLoad を有効にするには、コンストラクターは入力引数なしでの呼び出しをサポートしていなければなりません。詳細については、オブジェクトの保存と読み込みのプロセスを参照してください。

例: classdef (ConstructOnLoad = true) ...

データ型: logical

クラスを含むパッケージ。meta.package オブジェクトとして返されます。クラスがパッケージ内にない場合、このプロパティには空の meta.package オブジェクトが含まれています。パッケージの詳細については、パッケージによる名前空間の作成を参照してください。

データ型: meta.package

現在はコメントからのクラスについての情報の収集は使用されていません。

データ型: char | string

現在はコメントからのクラスについての情報の収集は使用されていません。

データ型: char | string

クラスが列挙型クラスか。logical 値として返されます。true の場合、このクラスは列挙型クラスです。列挙型クラスの詳細については、列挙クラスの定義を参照してください。

データ型: logical

列挙型メンバーの名前と非表示ステータス。meta.EnumeratedValue オブジェクトの配列として返されます。対応するメンバー meta.EnumeratedValue オブジェクトの Name プロパティおよび Hidden プロパティにアクセスして情報を取得します。詳細については、列挙型を参照してください。

データ型: meta.EnumeratedValue

クラスで定義されているイベント (継承されたすべてのイベントを含む)。meta.event オブジェクトの配列として返されます。ハンドル クラスでのみイベントが定義できるため、値クラスの場合、このプロパティは空の meta.event オブジェクトです。すべての handle クラスは ObjectBeingDestroyed イベントを継承します。イベントの詳細については、イベントを参照してください。

データ型: meta.event

クラスが検査ツールに対して非表示か。logical 値 true または false として返されます。true に設定された場合、クラスはクラス名を表示する MATLAB コマンドまたはツールの出力に表示されません。ただし、プログラムでクラスにアクセスすることはできます。

データ型: logical

このクラスの下位クラスとして指定されているクラス。meta.class オブジェクトの cell 配列として返されます。クラスの優先順位の詳細については、クラスの優先順位を参照してください。

例: classdef (InferiorClasses = {?ClassName1,?ClassName2}) ...

データ型: meta.class

クラスで定義されているメソッド。meta.method オブジェクトの配列として返されます。meta.method オブジェクトは、このクラスで定義される各メソッド (継承されたパブリック メソッドと保護されたメソッドを含む) を記述します。メソッドの詳細については、クラス設計でのメソッドを参照してください。

データ型: meta.method

クラス名。文字ベクトルとして返されます。このプロパティによって返されるクラス名には、クラスを含むパッケージの情報は含まれません。

データ型: char

クラスで定義されているプロパティ。各プロパティ (継承されたすべてのパブリック プロパティと保護プロパティを含む) を記述する meta.property オブジェクトの配列として返されます。プロパティの詳細については、プロパティを参照してください。

データ型: meta.property

クラスでサブクラス化が制限されているか。logical 値 true または false として返されます。MATLAB は、次の方法によってサブクラス化が制限されている場合、この属性を true に設定します。

  • Sealed 属性を true に設定

  • AllowedSubclasses 属性を使用して、このクラスをサブクラス化できるクラスを指定

サブクラス化の制限の詳細については、許可されたサブクラスの指定を参照してください。

例: classdef (AllowedSubclasses = {?ClassName1,?ClassName2}) ...

データ型: logical

クラスがサブクラス化可能か。logical 値として返されます。Sealedtrue の場合、このクラスはサブクラス化できません。

例: classdef (Sealed = true) ...

データ型: logical

このクラスの直接のスーパークラス。このクラスが派生する直接の各スーパークラスについて記述した meta.class オブジェクトの配列として返されます。サブクラス化の詳細については、サブクラス定義を参照してください。

例: classdef MyClass < MySuperclass & MyMixin

データ型: meta.class

メソッド

すべて展開する

イベント

イベント名トリガーイベント データイベントの属性
InstanceCreated

このイベントは、meta.class で記述されるクラスのインスタンスが作成されるたびに発生します。

このイベントは、すべてのコンストラクター関数が実行を終了すると直ちに発生します。

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

InstanceDestroyed

このイベントは、meta.class で記述されるクラスのインスタンスが破棄されるたびに発生します。

このイベントは、いずれかのデストラクター関数が実行される直前に発生します。

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

すべて折りたたむ

handle クラス findobj メソッドと audioplayer meta.class オブジェクトを使用して、プロパティ属性を確認します。audioplayer オブジェクトの SampleRate プロパティを変更できるかどうかを判断します。

audioplayer オブジェクトを作成します。

load('handel.mat')
player = audioplayer(y,Fs);

audioplayer オブジェクトの meta.class オブジェクトを取得します。

mc = metaclass(player);

SampleRate プロパティの meta.property オブジェクトを取得します。

mp = findobj(mc.PropertyList,'Name','SampleRate');

meta.property オブジェクトを使用して、SampleRate プロパティが変更できるかどうかを判別します。SetAccesspublic の場合、SampleRate プロパティを設定します。

if strcmp(mp.SetAccess,'public')
   player.SampleRate = 7200;
end
R2008a で導入