本文共 1111 字,大约阅读时间需要 3 分钟。
class? A_class //基类A_class
{
protected? $Number = 2; //定义个保护的成员.
//封装的属性
public function getNumber()
{
return $this->Number; //返回值=protected? $Number的参数
}
public function? main1()
{
return? “基类的方法1”;
}
public function? main2()
{
return? “基类的方法2”;
}
}
$classa = new A_class(); //实例化
echo “A_class基类有”.$classa->getNumber().”个方法 ”; //这时会调用return $this->Number;
echo $classa->main1().””.$classa->main2();echo “”;
class B_class extends A_class //A_class的派生类B_class
{
private $name = “子类专有::”; //定义私有成员
public function getName()
{
return $this->name;
}
public function main1() //对main1()函数进行重写.
{
return? $this->name.”子类对基类的方法重写”;
}
public function text()
{
return? “子类自己的方法”;
}
}
$classb = new B_class();//实例化
echo $classb->getName().”B_class子类有”.$classb->getNumber().”个方法”;
//调用派生类的getName()和基类的getNumber()
echo $classb->main1().”” ;
//调用派生类的main1()
echo $classb->main2().””;
//调用基类的main2()
echo $classb->text();
//调用派生类自己的函数text()
/*
可以这么说:子类可以继承基类的protected保护和public公有的类型,
同时可以自己有新的方法.至于重写:比如文中所说的main1()
基类已经有了,可派生类重写这个函数,
所以当$classb->main1()调用的时候,调用的是派生类的main1()函数
重写方法与访问权限
子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。
*/
?>
转载地址:https://blog.csdn.net/weixin_32141627/article/details/115153925 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!