属性のアクセスについて

属性には、パブリック、あるいはプライベートのタグを付けることができます。属性は、オブジェクトに対してプライベートにしておき、オブジェクトの内部事項として扱うのが理想的です。属性を、オブジェクトのインターフェースの一部として公開しないでください。属性は、実装の問題であり、オブジェクトの外部契約の一部であってはなりません。こうしておけば、外部への影響なしに、変化する要件に従って実装を変更することができます。ただし、時には、効率上の制約を満たすために属性をパブリックにして、ピア・オブジェクトが属性に直接アクセスできるようにする場合があります。

C でのパブリック属性またはプライベート属性の生成方法に違いはありません。属性は、オブジェクト構造内の単なるデータ・メンバーであり、そのため、常にパブリックです。

しかし、属性にパブリック・アクセス、あるいは、プライベート・アクセスを割り当てると、 その可視性は、属性自体ではなく、属性のアクセサー操作とミューテーター操作に適用されます。


フィードバック