meta.property クラス
パッケージ: meta
スーパークラス: meta.MetaData
MATLAB クラスのプロパティの記述
説明
meta.property
クラスは、MATLAB® のクラス プロパティについての情報を提供します。meta.property
クラスのプロパティにはプロパティ属性の値と、クラス定義で構文的に指定されているその他の情報が含まれています。プロパティはすべて読み取り専用です。
meta.property
クラスは handle
クラスです。
作成
meta.property
オブジェクトを直接インスタンス化することはできません。meta.property
オブジェクトを meta.class
PropertyList
プロパティから取得します。このプロパティには、meta.property
オブジェクトの配列が含まれます。各クラス プロパティに対して 1 つのオブジェクトが対応します。たとえば、ClassName
をクエリするプロパティのクラスの名前に置き換えます。
mco = ?ClassName;
plist = mco.PropertyList;
mp = plist(1); % meta.property for first property in list
関数 metaclass
を使用して、クラス インスタンスから meta.class
オブジェクトを取得します。
mco = metaclass(obj);
プロパティ
Name
— プロパティ名
文字ベクトル
プロパティ名。文字ベクトルとして返されます。meta.property
Name
プロパティは、クラスで定義されている関連するプロパティの名前に対応します。
Description
— プロパティの簡単な説明
文字ベクトル
プロパティの簡単な説明。文字ベクトルとして返されます。ユーザー定義クラスの場合、このプロパティのテキストはプロパティ定義のコード コメントから取得されます。コメントがない場合、このプロパティは空の文字ベクトルを返します。クラス プロパティのヘルプ テキストを含める方法の詳細については、カスタム ヘルプ テキストを参照してください。
DetailedDescription
— プロパティの詳細な説明
文字ベクトル
プロパティの詳細な説明。文字ベクトルとして指定します。ユーザー定義クラスの場合、このプロパティのテキストはプロパティ定義のコード コメントから取得されます。コメントがない場合、このプロパティは空の文字ベクトルを返します。クラス プロパティのヘルプ テキストを含める方法の詳細については、カスタム ヘルプ テキストを参照してください。
GetAccess
— プロパティの読み取りアクセス レベル
public
(既定値) | protected
| private
| 1 つ以上の meta.class
オブジェクト
プロパティの読み取り (取得) アクセス レベル。次のものとして返されます。
public
— アクセス制限なしprotected
– クラスまたはサブクラスからのアクセスprivate
– (サブクラスからではなく) クラス メンバーからのみアクセスこのプロパティへの読み取りアクセスをもつクラスのリスト。次の形式の
meta.class
オブジェクトとして指定します。単一の
meta.class
オブジェクト。meta.class
オブジェクトの cell 配列。空の cell 配列{}
はprivate
アクセスと同じです。
詳細については、クラス メンバーのアクセスを参照してください。
データ型: enumerated
| meta.class
SetAccess
— プロパティの書き込みアクセス レベル
public
(既定値) | protected
| private
| 1 つ以上の meta.class
オブジェクト
プロパティの書き込み (設定) アクセス レベル。次のものとして返されます。
public
— アクセス制限なしprotected
– クラスまたはサブクラスからのアクセスprivate
– (サブクラスからではなく) クラス メンバーからのみアクセスimmutable
— コンストラクターによってのみプロパティを設定可能。詳細については、可変プロパティと不変プロパティを参照してください。このプロパティへの書き込みアクセスをもつクラスのリスト。次の形式の
meta.class
オブジェクトとして指定します。単一の
meta.class
オブジェクト。meta.class
オブジェクトの cell 配列。空の cell 配列{}
はprivate
アクセスと同じです。
詳細については、クラス メンバーのアクセスを参照してください。
データ型: enumerated
| meta.class
Dependent
— プロパティの値が他の値に依存しているか
false
(既定値) | true
プロパティの値が他の値に依存しているか。logical true
または false
として返されます。false
(既定値) の場合、プロパティの値はオブジェクトに保存されています。true
の場合、プロパティの値はオブジェクトに保存されません。関数 set と get は、プロパティ名を使用してオブジェクトにインデックス付けする方法では、プロパティにアクセスできません。dependent プロパティはアクセス方法を定義しなければなりません。詳細については、依存プロパティの set および get メソッドを参照してください。
Constant
— プロパティ値が定数か
false
(既定値) | true
プロパティ値が定数か。logical true
または false
として返されます。true
の場合、クラスのすべてのインスタンスでこのプロパティの値は同じです。詳細については、定数値をもつクラス プロパティの定義を参照してください。
Abstract
— プロパティが abstract か
false
(既定値) | true
プロパティが abstract か。logical true
または false
として指定します。true
の場合、プロパティは実装されませんが、クラスは abstract です。詳細については、抽象クラスとクラス メンバーを参照してください。
Transient
— プロパティがオブジェクトと共に保存されるか
false
(既定値) | true
プロパティがオブジェクトと共に保存されるか。logical true
または false
として返されます。true
の場合、プロパティの値は、オブジェクトが MAT ファイルに保存されるときに保存されません。オブジェクトの保存の詳細については、オブジェクトの保存と読み込みのプロセスを参照してください。
Hidden
— プロパティがプロパティ リストから非表示であるか
false
(既定値) | true
プロパティがプロパティ リストから非表示であるか。logical true
または false
として返されます。Hidden
は、(たとえば、properties
の呼び出しの結果として) プロパティがプロパティ リストで表示されるかどうかを決定します。非表示のプロパティは既定のオブジェクト表示には表示されません。
GetObservable
— リスナーがプロパティの get イベントを受信できるか
false
(既定値) | true
リスナーがプロパティの get イベントを受信できるか。logical true
または false
として返されます。true
の場合で、かつそれが handle クラスのプロパティの場合、プロパティの値がクエリされたときに実行するリスナーを作成できます。MATLAB は、プロパティの値がクエリされるといつでもリスナーを呼び出します。詳細については、プロパティの設定とクエリのイベントを参照してください。
SetObservable
— リスナーがプロパティの set イベントを受信できるか
false
(既定値) | true
リスナーがプロパティの set イベントを受信できるか。logical true
または false
として返されます。true
の場合で、かつそれが handle クラスのプロパティの場合、プロパティの値が設定されたときに実行するリスナーを作成できます。MATLAB は、プロパティの値が変更されるといつでもリスナーを呼び出します。詳細については、プロパティの設定とクエリのイベントを参照してください。
AbortSet
— 値が変更されない場合にプロパティが設定されるか
false
(既定値) | true
値が変更されない場合にプロパティが設定されるか。logical true
または false
として返されます。true
の場合、新しい値が現在の値と同じ場合には、プロパティの値の設定は中止されます。プロパティが handle クラスに属している場合、AbortSet
を true
に設定することで、プロパティの PreSet
イベントおよび PostSet
イベントのトリガーは抑止されます。
NonCopyable
— プロパティがコピー可能か
false
(既定値) | true
プロパティがコピー可能か。logical true
または false
として返されます。false
の場合、オブジェクトがコピーされるときにプロパティ値がコピーされます (handle
クラスのみ)。既定では、handle オブジェクトをコピーすると、そのオブジェクトの具象プロパティはコピーされます。詳細については、コピーのプロパティの排除を参照してください。
PartialMatchPriority
— 名前の部分一致の優先順位
1 (既定値) | 正の整数
名前の部分一致の優先順位。数値として返されます。matlab.mixin.SetGet
のサブクラスと共に使用し、set
メソッドおよび get
メソッドの引数で使用されるプロパティ名の部分一致の相対的な優先順位を定義します。既定値は 1 です。値を大きくすると低い優先順位が割り当てられます。詳細については、プロパティ名の部分一致に対する優先順位の設定を参照してください。
GetMethod
— プロパティの get メソッド
[]
(既定値) | 関数ハンドル
プロパティの get メソッド。関数ハンドルまたは空の値として返されます。このプロパティに関連付けられた get メソッドの関数ハンドル。クラス定義で get メソッドが指定されていない場合、値は空です。詳細については、プロパティ の set メソッドを参照してください。
SetMethod
— プロパティの set メソッド
[]
(既定値) | 関数ハンドル
プロパティの set メソッド。関数ハンドルまたは空の値として返されます。このプロパティに関連付けられた set メソッドの関数ハンドル。クラス定義で set メソッドが指定されていない場合、値は空です。詳細については、プロパティ の set メソッドを参照してください。
HasDefault
— プロパティが既定値を定義しているか
false
(既定値) | true
プロパティが既定値を定義しているか。logical true
または false
として返されます。true
の場合、プロパティはクラス定義で既定値を定義しています。MATLAB:class:NoDefaultDefined
エラーを避けるために、DefaultValue
プロパティをクエリする前に HasDefault
をテストしてください。
データ型: logical
DefaultValue
— クラス定義で指定されている既定値
なし (既定値) | 配列
クラス定義で指定されている既定値。抽象、依存、および動的プロパティは、既定値を定義できません。
クラス定義で既定値がない場合、MATLAB は DefaultValue
プロパティを表示しません。MATLAB:class:NoDefaultDefined
エラーを避けるために、DefaultValue
プロパティをクエリする前に HasDefault
をテストしてください。
Validation
— プロパティについて定義されている検証
空 (既定値) | meta.Validation
オブジェクト
プロパティについて定義されている検証。meta.Validation
オブジェクトとして返されます。このプロパティには、このプロパティによって定義されている検証を記述している meta.Validation
オブジェクトが含まれています。プロパティで検証が定義されていない場合、このプロパティには空の meta.Validation
オブジェクトが含まれます。
DefiningClass
— プロパティを定義するクラス
meta.class
オブジェクト
プロパティを定義するクラス。meta.class
オブジェクトとして返されます。meta.class
オブジェクトは、このプロパティを定義するクラス (スーパークラスの場合がある) を表します。
イベント
イベント名 | トリガー | イベント データ | イベントの属性 |
---|---|---|---|
PreGet | イベントはプロパティの値がクエリされる直前に発生します。 | event.PropertyEvent |
|
PostGet | イベントはプロパティの値がクエリされた直後に発生します。 | event.PropertyEvent |
|
PreSet | イベントはプロパティの値が変更される直前に発生します。 | event.PropertyEvent |
|
PostSet | イベントはプロパティの値が変更された直後に発生します。 | event.PropertyEvent |
|
例
イントロスペクションを使用したプロパティに関する情報の取得
meta.property
を使用して 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
の PropertyList
の最初のプロパティにアクセスして、meta.property
オブジェクトを取得します。
mc = ?IntrospectionExample; mc.PropertyList(1)
ans = property with properties: Name: 'a' Description: 'First property' DetailedDescription: ' First of two numeric properties' GetAccess: 'public' SetAccess: 'public' Dependent: 0 Constant: 0 Abstract: 0 Transient: 0 Hidden: 0 GetObservable: 0 SetObservable: 0 AbortSet: 0 NonCopyable: 0 PartialMatchPriority: 1 GetMethod: [] SetMethod: [] HasDefault: 1 DefaultValue: 0 Validation: [1x1 meta.Validation] DefiningClass: [1x1 meta.class]
クラスがプロパティ値に対して実行する検証を確認します。
mc.PropertyList(1).Validation
ans = Validation with properties: Class: [0x0 meta.class] Size: [1x0 meta.ArrayDimension] ValidatorFunctions: {@mustBeNumeric}
バージョン履歴
R2008a で導入R2022a: Description
プロパティおよび DetailedDescription
プロパティにコード コメントからのテキストが含まれる
適切に配置されたコード コメントが含まれているユーザー定義クラスでは、Description
プロパティおよび DetailedDescription
プロパティに、そのコメントから取得されたテキストが入ります。コード コメントを使用してユーザー定義クラスのカスタム ヘルプ テキストを格納する方法の詳細については、カスタム ヘルプ テキストを参照してください。
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)