Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Objective-C で iVar を公開すると、カプセル化の目的が無効になりますか?
@interface SampleClass{ @public int totalRecords; }
要するに、はい。
ivarsに直接アクセスできるということは、サブクラスまたは将来のバージョンが、読み取りまたは書き込みSampmleClass時にあらゆる種類のカスタマイズされた動作を実装できる方法がないことを意味しますtotalRecords。
SampmleClass
totalRecords
これが、オブジェクトの状態へのアクセスが、クラス自体の実装以外のあらゆる場所のメソッドを介して行われる理由です(それでも、ほとんどの場合、メソッドを介して行われます)。