我受保护的只有一个继承类知道,
在此代码中,受保护的工作在第三类
我的代码是真的还是错误,
<?php
class sample_visibility{
public function my_first_public(){
$MSG = "THIS IS MY PUBLIC FUNCTION ";
return $MSG;
}
private function my_first_private(){
$MSG = "THIS IS MY PRIVATE FUNCTION ";
return $MSG;
}
protected function my_first_protected(){
$MSG = "THIS IS MY PROTECTED FUNCTION ";
return $MSG;
}
}
class sample_visibilit2 extends sample_visibility{
public function my_first_child_public(){
$MSG = "THIS IS MY CHILD PUBLIC FUNCTION ".$this->my_first_protected();
return $MSG;
}
}
class sample_visibilit3 extends sample_visibility{
public function my_first_child_public_3(){
$MSG = "THIS IS MY CHILD PUBLIC FUNCTION ".$this->my_first_protected();
return $MSG;
}
}
$OBJ_CLASS_1 = new sample_visibility();
echo $OBJ_CLASS_1->my_first_public();
$OBJ_CLASS_3 = new sample_visibilit3();
echo $OBJ_CLASS_3->my_first_child_public_3();
?>
答案 0 :(得分:3)
您的代码中没有错误。受保护的元素(成员或功能)可供儿童,孙子女(伟大的) - 孙子孙女使用。任何数量的遗产都可以。他们只受到不相关类别的“保护”。
public - accessible anywhere
protected - derived classes only (any number of inheritances)
private - only accessible internally
答案 1 :(得分:0)
虽然您的问题不是很明确,但您的代码是正确的并且可以正常运行。
在课程sample_visibilit2
和sample_visibilit3
中,您可以访问my_first_protected()
,因为这两个类都是sample_visibility
的子类。