プロパティ (プログラミング)
これによりプロパティが存在する言語ではとりあえずはフィールドを公開しておき必要なってきたらプロパティに変更していくという運用が可能になっている。 ■プロパティ化(Object Pascal)
なお、フィールドに制約を掛けやすい言語ほど運用性が高まる。フィールドをConst等で修飾しオブジェクト外部からは読み取り専用とできるような言語であればフィールドの書き込み操作を気にすることなくフィールドを読み取り専用のプロパティに変更することができる。Objective-Cではより進んでおりプロパティ宣言とフィールド宣言が一体化しており、最も単純なプロパティは派生型で再定義可能かどうかを除いてフィールドと変わらない。
Objective-Cと互換性のあるSwiftでは格納方法の指定方法が属性の定義の中(下記であれば@SmallNumberの定義の中)に含まれるようになり、よりフィールドとプロパティの融合が進んでいる。
明示的にバッキングフィールド (backing field) を記述する基本的なプロパティの例を示す。
プロパティの構文内ではget, setが、またsetアクセサ内ではvalueがコンテキスト(文脈)キーワードとして機能する。
呼び出し側では、フィールドにアクセスするような構文でプロパティの機能を呼び出す。
自動実装プロパティ
値の取得と設定のみを行い、取得設定時に追加の処理を行わない場合、自動実装プロパティ (auto-implemented properties) と呼ばれる簡易な構文を用いることができる。
自動実装プロパティでは、バッキングフィールドが内部的に自動生成される。 プログラマは自動生成されたバッキングフィールドには直接アクセスすることはできない。