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中文网其他相关文章!