OOP 原則では、プライベート クラス メンバーへのアクセスを制限することでカプセル化を強制し、不正な変更を防ぎます。しかし、次のコードでは、プライベートな可視性にもかかわらず、別の Person オブジェクトの account フィールドにアクセスできるのはなぜですか?
class Person { private BankAccount account; Person(BankAccount account) { this.account = account; } public Person someMethod(Person person) { // Why is accessing the private field possible? BankAccount a = person.account; } }
は逆ですオブジェクト レベルのアクセスの期待に反して、Java のプライベート フィールドにはクラス レベルのアクセスがあります。この設計は次の理由から生じています。
結論:
クラスレベルのアクセスプライベート フィールドの場合は、カプセル化を強化し、実装の独立性を確保し、同じクラス内のオブジェクト間の相互作用を容易にする意図的な設計上の選択です。直感に反するように思えるかもしれませんが、この設計はオブジェクト指向プログラミングの整合性と柔軟性を維持するために不可欠です。
以上が同じクラス内の別のオブジェクトのプライベート フィールドにアクセスできるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。