Dieser Artikel gibt Ihnen hauptsächlich eine detaillierte Erklärung der Unterschiede zwischen PHP objektorientiert privat, geschützt und öffentlich. Ich hoffe, er kann allen helfen.
private protected public本类内 Y Y Y 子类内 N Y Y 外部 N N Y
Hinweis:
In Java, wenn keine Parameter vor dem Attribut/der Methode geschrieben werden
d. h. öffentlich/geschützt /private sind nicht Es ist in Ordnung, in PHP freundlich
zu schreiben. Wenn Sie nicht public/protected/private schreiben, wird
als öffentlich verstanden. Es wird empfohlen, eine gute Angewohnheit zu entwickeln und dies nicht zu tun schreibe
class Human { private $name = 'zhangsan'; protected $money = 3000; public $age = 28; public function say() { echo '我叫',$this->name,'<br />'; echo '我有',$this->money,'元钱<br />'; echo '我今年',$this->age,'岁'; } }class Stu extends Human { private $friend = '小花'; public function talk() { echo '我叫',$this->name,'<br />'; echo '我有',$this->money,'元钱<br />'; echo '我今年',$this->age,'岁<br />'; } }$ming = new Stu();echo $ming->age,'<br />'; // 28echo $ming->friend; //出错:因为类外不能调用privateecho $ming->money; //出错:因为类外不能调用protected属性$ming->talk();/** 出错: Notice: Undefined property: Stu::$name in 。。。 我有3000元钱 我今年28岁 分析原因: Undefined property: Stu::$name 这是说明:stu对象 没有name属性 但昨天说,私有的不是可以继承吗? 是可以继承过来,但系统有标记,标记其为父类层面的私有属性. 因此无权调用,导致此错发生. 可以分析出: protected 可以在 子类内访问 protected能在子类访问,本类内能否访问? 答:当然可以
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Unterschiede zwischen PHP objektorientiert privat, geschützt und öffentlich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!