プロパティ (プログラミング)
概要で述べた通りフィールドを直接操作してしまうと下記の例の様にフィールドが存在しないオブジェクトを共通の関数(例ではCount)を再利用することができなくなってしまう。これを防ぐためオブジェクト指向プログラミングではアクセッサーを用いるが、プロパティが存在しない言語では一度公開してしまったフィールドをアクセッサーに変換するのは、フィールドを操作している箇所全てを修正する必要が発生するため容易ではない。このため、将来的に共通化する必要が出てくるか否かに関わらずアクセッサーを定義することが鉄則となっている。
■フィールド直接操作による問題の具体例(Object Pascal)
反面プロパティを持つ言語においてはソースコード互換の範囲ではあるがフィールドからアクセッサーへの変更が極めて容易となる。下記の例では、フィールドとして公開していたValueを削除してプロパティであるValueに置換しているが、プロパティがフィールドと互換性を持つためフィールドを操作していた箇所には一切変更が発生しない。