ホームページ  >  記事  >  バックエンド開発  >  PHP リネージ コンストラクター、メンバー変数

PHP リネージ コンストラクター、メンバー変数

WBOY
WBOYオリジナル
2016-06-13 13:11:34849ブラウズ

PHP 継承コンストラクター、メンバー変数

私はこれらの概念について常に漠然としてきたことに気づいたので、次のように要約します:

?

1. サブクラスにコンストラクターがない場合、デフォルトで親クラスのコンストラクターが呼び出されます。

?

2. サブクラスにコンストラクターがある場合、親クラスのコンストラクターは呼び出されず、親クラスのメンバー変数を呼び出したい場合は、parent::__construct(); を使用します。

?

3. 親クラスのメンバー変数とメソッドはデフォルトでサブクラスに継承されます

?

例:

    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();
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。