protected 修飾符允許成員在其包內以及其他包中的子類存取。
受保護的成員可供所有子類別使用,但仍受到保護,無法被套件外部的程式碼存取。
一個例子可以幫助你更好地理解 protected 的效果。
在範例中,Book 類別已更改,以便其實例變數受到保護。
建立名為 ExtBook 的 Book 子類別。
建立一個使用 ExtBook 的名為 ProtectDemo 的類別。
ExtBook 新增了一個欄位來儲存發布者名稱。
ExtBook 還有多種存取器方法。
這兩個類別(ExtBook 和 ProtectDemo)位於 bookpackext 套件中。
ExtBook 擴充了 Book,它允許您存取受保護的 Book 成員,即使它們位於不同的套件中。
ExtBook 可以直接存取受保護的成員,例如 title、author 和 pubDate,為這些變數建立存取器方法。
在 ProtectDemo 類別中,拒絕直接存取這些變量,因為 ProtectDemo 不是 Book 的子類別。
如果從 books[0].title = "test title"; 行中刪除註釋,則由於存取限制,程式將無法編譯。
以上是了解受保護的成員的詳細內容。更多資訊請關注PHP中文網其他相關文章!