当前位置:Gxlcms > PHP教程 > 为什么父类中可以调用子类的方法?

为什么父类中可以调用子类的方法?

时间:2021-07-01 10:21:17 帮助过:6人阅读

abstract class A {
        private $name;
        function __construct($param){
            $this->name = 'liming'.'
'; } function getName() { echo $this->name; } // 调用子类中的方法getAge2 function getAge() { $this->getAge2(); } function getAge3() { return '23'; } } class B extends A { function getAge2(){ echo $this->getAge3(); } } $a = new B('a'); $a->getName(); $a->getAge();

回复内容:

abstract class A {
        private $name;
        function __construct($param){
            $this->name = 'liming'.'
'; } function getName() { echo $this->name; } // 调用子类中的方法getAge2 function getAge() { $this->getAge2(); } function getAge3() { return '23'; } } class B extends A { function getAge2(){ echo $this->getAge3(); } } $a = new B('a'); $a->getName(); $a->getAge();

脑袋思维定势了吧,为何不(new A)->getAge()试试?http://3v4l.org/cMZjE

php是弱类型语言,能调什么方法,取决于对象本身是什么类型
这点跟Java不同,Java里一个对象能调什么方法,取决于指向这个对象的引用是什么类型

人气教程排行