isprop
プロパティが存在する場合は true
構文
tf = isprop(obj,PropertyName)
説明
tf = isprop(obj,PropertyName)
は、指定された PropertyName
が obj
オブジェクトのプロパティである場合に true
を返します。それ以外の場合は、関数 isprop
は logical 値 false
を返します。PropertyName
を文字ベクトルまたは string スカラーとして指定します。
obj
が配列の場合、isprop
は obj
と同じサイズの logical 配列を返します。tf
の各 true 要素は、PropertyName
プロパティをもつ obj
の要素に対応します。
メモ
obj
が空のオブジェクトまたは空のオブジェクトからなる配列である場合、PropertyName
が obj
のプロパティであっても、isprop
は空の logical 配列を返します。
オブジェクトのクラスがその名前のプロパティを定義する場合、isprop
は true
を返しますが、プロパティ属性を定義することで、クラスはプロパティ値へのアクセスを制御できます。プロパティへのアクセス権は以下のように定義できます。
読み取り可能および書き込み可能
読み取り専用
書き込み専用
特定のクラス メソッドにのみアクセス可能
したがって、isprop
はプロパティが存在することを示しても、そのプロパティにアクセスできないことがあります。詳細については、プロパティに関する情報の取得を参照してください。
例
この例では、プロパティ値の設定を試みる前に、isprop
を使って XDataSource
がオブジェクト h
のプロパティであるかどうかを判別します。
h = plot(1:10); if isprop(h,'XDataSource') set(h,'XDataSource','x') else error(['XDataSource not a property of class ',class(h)]) end
XDataSource
が h
のプロパティであるため、その値は 'x'
に設定されます。