Heim  >  Artikel  >  Backend-Entwicklung  >  PHP沿袭构造方法,成员变量

PHP沿袭构造方法,成员变量

WBOY
WBOYOriginal
2016-06-13 13:11:34849Durchsuche

PHP继承构造方法,成员变量

发现自己对这些概念一直比较模糊,特总结如下:

?

1.在子类没有构造方法的情况下,默认调用父类的构造方法

?

2.如果子类有构造方法,则不会调用父类的构造方法,并且会覆盖父类的成员变量;如果要调用,则用parent::__construct();

?

3.父类的成员变量和方法默认会被子类所继承

?

eg:

    class A{
        public $a = array();
        public $b = '';
        public function __construct(){
            $this->a = array('a', 'b', 'c');
            $this->b = 'bobby';
            echo 'construct' . "\n";
        }
        public function get(){
            print_r($this->a);
        }
    }

    class B extends A{
        public function __construct(){
            parent::__construct();
            $this->c = 'CC';
        }
        public function get(){
            array_push($this->a, 'd');
            print_r($this->a);
            echo $this->c;
        }
        public function getb(){
            echo parent::$this->b;
        }
    }

    //$a = new A();
    $b = new B();
    $b->get();
    $b->getb();
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn