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
クラスです。
プロパティ
Name
— クラス名
文字ベクトル
クラス名。文字ベクトルとして返されます。このプロパティによって返される名前には、クラス パッケージが含まれます。
データ型: char
Description
— クラスの簡単な説明
文字ベクトル
クラスの簡単な説明。文字ベクトルとして返されます。ユーザー定義クラスの場合、このプロパティのテキストはクラス定義のコメントから取得されます。コメントがない場合、このプロパティは空の文字ベクトルを返します。クラスのヘルプ テキストを含める方法の詳細については、カスタム ヘルプ テキストを参照してください。
DetailedDescription
— クラスの詳細な説明
文字ベクトル
クラスの詳細な説明。文字ベクトルとして返されます。ユーザー定義クラスの場合、このプロパティのテキストはクラス定義のコメントから取得されます。コメントがない場合、このプロパティは空の文字ベクトルを返します。クラスのヘルプ テキストを含める方法の詳細については、カスタム ヘルプ テキストを参照してください。
Hidden
— クラスが検査ツールに対して非表示か
false
(既定値) | true
クラスが検査ツールに対して非表示か。logical 値 true
または false
として返されます。true
に設定された場合、クラスはクラス名を表示する MATLAB コマンドまたはツールの出力に表示されません。ただし、プログラムでクラスにアクセスすることはできます。
データ型: logical
Sealed
— クラスがサブクラス化可能か
false
(既定値) | true
クラスがサブクラス化可能か。logical 値として返されます。Sealed
が true
の場合、このクラスはサブクラス化できません。
データ型: logical
Abstract
— クラスの abstract 属性の値
false (既定値) | true
クラスの abstract 属性の値。logical 値として返されます。このプロパティの値は、クラス、任意のプロパティまたはメソッドで Abstract
属性が true
に設定されている場合、true
です。abstract クラスの詳細については、抽象クラスとクラス メンバーを参照してください。
データ型: logical
Enumeration
— クラスが列挙型クラスか
false
(既定値) | true
クラスが列挙型クラスか。logical 値として返されます。true
の場合、このクラスは列挙型クラスです。列挙型クラスの詳細については、列挙クラスの定義を参照してください。
データ型: logical
ConstructOnLoad
— 読み込み時のコンストラクターの呼び出し
false
(既定値) | true
読み込み時のコンストラクターの呼び出し。logical 値として返されます。true
の場合、MATLAB は MAT ファイルからオブジェクトを読み込むときにクラス コンストラクターを自動的に呼び出します。ConstructOnLoad
を有効にするには、コンストラクターは入力引数なしでの呼び出しをサポートしていなければなりません。詳細については、オブジェクトの保存と読み込みのプロセスを参照してください。
データ型: logical
HandleCompatible
— クラスがハンドル互換か
false
(既定値) | true
クラスがハンドル互換か。logical 値として返されます。true
の場合、このクラスはハンドル互換クラスです。ハンドル互換クラスの詳細については、ハンドル互換クラスを参照してください。
データ型: logical
InferiorClasses
— このクラスの下位クラスとして指定されているクラス
meta.class
オブジェクトの cell 配列
このクラスの下位クラスとして指定されているクラス。meta.class
オブジェクトの cell 配列として返されます。クラスの優先順位の詳細については、クラスの優先順位を参照してください。
データ型: meta.class
ContainingPackage
— クラスを含むパッケージ
meta.package
クラスを含むパッケージ。meta.package
オブジェクトとして返されます。クラスがパッケージ内にない場合、このプロパティには空の meta.package
オブジェクトが含まれています。パッケージの詳細については、パッケージによる名前空間の作成を参照してください。
データ型: meta.package
Aliases
— エイリアスのリスト
string 配列
クラスで定義されているエイリアスのリスト。string 配列として返されます。エイリアスは最も古いものから最も新しいものの順にリストされます。
RestrictsSubclassing
— クラスでサブクラス化が制限されているか
false
(既定値) | true
クラスでサブクラス化が制限されているか。logical true
または false
として返されます。MATLAB は、次の方法によってクラスでサブクラス化が制限されている場合、このプロパティを true
に設定します。
Sealed
属性をtrue
に設定AllowedSubclasses
属性を使用して、このクラスをサブクラス化できるクラスを指定
サブクラス化の制限の詳細については、許可されたサブクラスの指定を参照してください。
データ型: logical
PropertyList
— クラスで定義されているプロパティ
meta.property
オブジェクトの配列
クラスで定義されているプロパティ。meta.property
オブジェクトの配列として返されます。meta.property
オブジェクトは、このクラスで定義される各プロパティ (継承されたパブリック プロパティと保護されたプロパティをすべて含む) を記述します。プロパティの詳細については、プロパティを参照してください。
データ型: meta.property
MethodList
— クラスで定義されているメソッド
meta.method
オブジェクトの配列
クラスで定義されているメソッド。meta.method
オブジェクトの配列として返されます。meta.method
オブジェクトは、このクラスで定義される各メソッド (継承されたパブリック メソッドと保護されたメソッドを含む) を記述します。メソッドの詳細については、クラス設計でのメソッドを参照してください。
データ型: meta.method
EventList
— クラスで定義されているイベント
meta.event
オブジェクトの配列
クラスで定義されているイベント (継承されたすべてのイベントを含む)。meta.event
オブジェクトの配列として返されます。ハンドル クラスでのみイベントが定義できるため、値クラスの場合、このプロパティは空の meta.event
オブジェクトです。すべての handle
クラスは ObjectBeingDestroyed
イベントを継承します。イベントの詳細については、イベントを参照してください。
データ型: meta.event
EnumerationMemberList
— 列挙型メンバーの名前と非表示ステータス
meta.EnumeratedValue
オブジェクトの配列
列挙型メンバーの名前と非表示ステータス。meta.EnumeratedValue
オブジェクトの配列として返されます。対応するメンバー meta.EnumeratedValue
オブジェクトの Name
プロパティおよび Hidden
プロパティにアクセスして情報を取得します。詳細については、列挙を参照してください。
データ型: meta.EnumeratedValue
SuperclassList
— このクラスの直接のスーパークラス
meta.class
配列
このクラスの直接のスーパークラス。meta.class
オブジェクトの配列として返されます。meta.class
オブジェクトは、このクラスの派生元である直接の各スーパークラスについて記述します。サブクラス化の詳細については、サブクラス定義を参照してください。
データ型: meta.class
メソッド
パブリック メソッド
fromName | 名前付きクラスに関連付けられた meta.class オブジェクトを返す |
特殊な演算子と関数
次のメソッドは、MATLAB の標準の演算子および関数を、このクラスのオブジェクト用に特殊化したものです。
eq (a == b ) | 等式関数 ( |
ne (a ~= b ) | 非等式関数 ( |
lt (a < b ) | 小なり関数 ( |
le (a <= b ) | 小なりまたは等しい関数 ( |
gt (a > b ) | 大なり関数 ( |
ge (a >= b ) | 大なりまたは等しい関数 ( |
イベント
イベント名 | トリガー | イベント データ | イベントの属性 |
---|---|---|---|
InstanceCreated | このイベントは、 このイベントは、すべてのコンストラクター関数が実行を終了すると直ちに発生します。 | event.ClassInstanceEvent |
|
InstanceDestroyed | このイベントは、 このイベントは、いずれかのデストラクター関数が実行される直前に発生します。 | event.ClassInstanceEvent |
|
例
イントロスペクションを使用したクラスに関する情報の取得
イントロスペクションを使用して IntrospectionExample
クラスに関する継承情報を取得します。
IntrospectionExample
のコード
classdef IntrospectionExample % IntrospectionExample Performs basic functions on two numbers % This class can return the sum and product of its two properties. properties % a First property % First of two numeric properties a {mustBeNumeric} = 0 % b Second property % Second of two numeric properties b {mustBeNumeric} = 0 end methods function sum = addNumbers(obj) % addNumbers Sum the properties % Finds the sum of properties a and b. sum = obj.a + obj.b; end function prod = multNumbers(obj) % multNumbers Multiply the properties % Finds the product of properties a and b. prod = obj.a*obj.b; end end end
メタクラス インスタンスの作成および検査
IntrospectionExample
のメタクラス インスタンスを作成します。
mc = ?IntrospectionExample
mc = class with properties: Name: 'IntrospectionExample' Description: 'Performs basic functions on two numbers' DetailedDescription: ' This class can return the sum and product of its two properties.' Hidden: 0 Sealed: 0 Abstract: 0 Enumeration: 0 ConstructOnLoad: 0 HandleCompatible: 0 InferiorClasses: {0x1 cell} ContainingPackage: [0x0 meta.package] Aliases: [0x1 string] RestrictsSubclassing: 0 PropertyList: [2x1 meta.property] MethodList: [4x1 meta.method] EventList: [0x1 meta.event] EnumerationMemberList: [0x1 meta.EnumeratedValue] SuperclassList: [0x1 meta.class]
IntrospectionExample
のプロパティの概要に、MethodList
プロパティに記述された 4 つのメソッドがあることが示されます。mc
の MethodList
プロパティにアクセスし、4 つのクラス メソッドのすべての名前を表示します。
for i = 1:4 mc.MethodList(i).Name end
ans = 'multNumbers'
ans = 'addNumbers'
ans = 'IntrospectionExample'
ans = 'empty'
バージョン履歴
R2008a で導入R2022a: Description
プロパティおよび DetailedDescription
プロパティにコード コメントからのテキストが含まれる
適切に配置されたコード コメントが含まれているユーザー定義クラスでは、Description
プロパティおよび DetailedDescription
プロパティに、そのコメントから取得されたテキストが入ります。コード コメントを使用してユーザー定義クラスのカスタム ヘルプ テキストを格納する方法の詳細については、カスタム ヘルプ テキストを参照してください。
R2022a: Aliases
プロパティからのクラス エイリアスへのアクセス
Aliases
プロパティは、クラスで定義されているエイリアスを返します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)