实例
<?php //方法的继承(重写 重构) //1.子类里面的方法会覆盖父类中的同名方法 //2.访问方法的时候 一定是最终结果 被子类覆盖后的结果 但是除了私有的以外 //3.重写的时候建议参数结构(参数的个数,参数的默认值)保持一致 //4.权限只能扩大 不能缩小 // 父类 子类 // public public // protected public protected // private public protected private class A{ private function say($a=10){ echo '我是他爹'; } //访问方法的时候 一定是最终结果 被子类覆盖后的结果 但是除了私有的以外 public function test(){ $this->say(); } } class B extends A{ //子类里面的方法会覆盖父类中的同名方法 public function say($b=20,$c=20){ echo '他不是我爹'; } } $obj = new B; //$obj->say(); $obj->test();
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php //方法的继承(重写 重构) //1.子类里面的方法会覆盖父类中的同名方法 //2.访问方法的时候 一定是最终结果 被子类覆盖后的结果 但是除了私有的以外 //3.重写的时候建议参数结构(参数的个数,参数的默认值)保持一致 //4.权限只能扩大 不能缩小 // 父类 子类 // public public // protected public protected // private public protected private //5.可以调用父类中的方法 需要使用范围操作符 :: //A::say() parent::say() parent 代表的是父类 //注意要求: 重写构造方法的时候需要务必将第一个调用父类中的构造方法 class A{ public $name; public $city; public function __construct($name,$city){ $this->name = $name; $this->city = $city; } public function say(){ echo '各位以后没事的时候多看看书,看你自己感兴趣的就行 建议少看网络小说'; } } class B extends A{ public $age; public $sex; public function __construct($name,$city,$age,$sex){ //调用父类中的构造方法 //A::__construct($name,$city); parent::__construct($name,$city); //parent 代表的就是你的父类 // $this->name =$name; // $this->city = $city; $this->age = $age; $this->sex = $sex; } public function say(){ parent::say(); echo '你可以读读我们的四大名著 我比较喜欢看西游 因为他不是一个神话故事 他是一个职场故事 还有点厚黑的感觉'; } } $obj = new B('孙悟空','花果山水帘洞','不详','石猴'); var_dump($obj); $obj->say();
运行实例 »
点击 "运行实例" 按钮查看在线实例