Rumah > pembangunan bahagian belakang > tutorial php > 为什么父类中可以调用子类的方法?

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

WBOY
Lepaskan: 2016-06-06 20:38:00
asal
1121 orang telah melayarinya

<code>abstract class A {
        private $name;
        function __construct($param){
            $this->name = 'liming'.'<br>';
        }
        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();
</code>
Salin selepas log masuk
Salin selepas log masuk

回复内容:

<code>abstract class A {
        private $name;
        function __construct($param){
            $this->name = 'liming'.'<br>';
        }
        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();
</code>
Salin selepas log masuk
Salin selepas log masuk

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

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

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan