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 中的私有欄位具有類別層級存取。這種設計源自於以下原因:
結論:
類級訪問for private fields 是一種有意的設計選擇,它可以加強封裝,確保實現獨立性,並促進同一類別內的物件之間的互動。雖然看起來可能違反直覺,但這種設計對於維護物件導向程式設計的完整性和靈活性至關重要。
以上是為什麼我可以存取同一個類別中另一個物件的私有欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!