1

Objective-C で iVar を公開すると、カプセル化の目的が無効になりますか?

@interface SampleClass{
@public
int totalRecords;
}
4

1 に答える 1

4

要するに、はい。

ivarsに直接アクセスできるということは、サブクラスまたは将来のバージョンが、読み取りまたは書き込みSampmleClass時にあらゆる種類のカスタマイズされた動作を実装できる方法がないことを意味しますtotalRecords

これが、オブジェクトの状態へのアクセスが、クラス自体の実装以外のあらゆる場所のメソッドを介して行われる理由です(それでも、ほとんどの場合、メソッドを介して行われます)。

于 2012-10-12T18:22:48.190 に答える