34.6.2 Properties

Last-modified: 2025-03-09 (日) 09:01:42

34.6.2 プロパティ

すべてのクラス プロパティはブロック内で定義する必要がありますproperties。プロパティの既定値の定義はオプションであり、省略できます。各クラス プロパティの既定の初期値は です[]。

ブロックpropertiesには、アクセス権を指定したり定数を定義したりするための追加属性を含めることができます。

classdef some_class
 properties (Access = mode)
   prop1
 endproperties
 properties (SetAccess = mode, GetAccess = mode)
   prop2
 endproperties
 properties (Constant = true)
   prop3 = pi ()
 endproperties
 properties
   prop4 = 1337
 endproperties
endclassdef

mode は次のいずれかになります。

public
プロパティにはどこからでもアクセスできます。

private
プロパティにはクラス メソッドからのみアクセスできます。そのクラスのサブクラスからはアクセスできません。

protected
プロパティには、クラス メソッドとそのクラスのサブクラスからのみアクセスできます。

のオブジェクトを作成するとsome_class、prop1にはデフォルト値が与えられ[]、prop1 からの読み取りとprop1への書き込みは単一のモードによって定義されます。prop2 の場合、読み取りアクセスと書き込みアクセスは別々に設定できます。最後に、prop3 はブロック内で一度だけ初期化できる定数プロパティですproperties。

デフォルトでは、例prop4では、プロパティは定数ではなく、パブリックの読み取りおよび書き込みアクセス権を持ちます。

: properties (obj)
: properties (class_name)
: proplist = properties (…)
classdef オブジェクトobjまたは名前付きクラスclass_nameのパブリック プロパティを表示または返します。

出力値が要求された場合は、セル配列内のプロパティ名のリストを返します。

プログラミング ノート:GetAccess属性が public であり、Hidden属性が false の場合、プロパティ名が返されます。
See also: methods.