public(公有),protected(受保护)或private(私有)
访问控制(可见性)
1.对属性或⽅法的访问控制,是通过在前⾯添加关键字public(公有),protected(受保护)或private(私有)来实现的。
2.被定义为公有的类成员可以在任何地⽅被访问。
3.被定义为受保护的类成员则可以被其⾃⾝以及其⼦类和⽗类访问。
被定义为私有的类成员则只能被其定义所在的类访问
位置privateprotectedpublic
本类内YYY
⼦类内NYY
外部NNY
能否重新定义NYY
属性的访问控制
1.类属性必须定义为公有,受保护,私有之⼀。
2.如果⽤var定义,则被视为公有
⽅法的访问控制
1.类中的⽅法可以被定义为公有,私有或受保护。
2.如果没有设置这些关键字,则该⽅法默认为公有
<?php
/**
*DefineMyClass
*/
classMyClass
{
public$public='Public';
protected$protected='Protected';
private$private='Private';
functionprintHello()
{
echo$this->public;
echo$this->protected;
echo$this->private;
}
}
$obj=newMyClass();
echo$obj->public;//这⾏能被正常执⾏
echo$obj->protected;//这⾏会产⽣⼀个致命错误
echo$obj->private;//这⾏也会产⽣⼀个致命错误
$obj->printHello();//输出Public、Protected和Private
/**
*DefineMyClass2
*/
classMyClass2extendsMyClass
{
//可以对public和protected进⾏重定义,但private⽽不能
protected$protected='Protected2';
functionprintHello()
{
echo$this->public;
echo$this->protected;
echo$this->private;
}
}
$obj2=newMyClass2();
echo$obj2->public;//这⾏能被正常执⾏
echo$obj2->private;//未定义private
echo$obj2->protected;//这⾏会产⽣⼀个致命错误
$obj2->printHello();//输出Public、Protected2和Undefined
>
本文发布于:2022-12-28 12:46:39,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/46710.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |