小时? 发表于 2017-4-6 10:22:18

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();
页: [1]
查看完整版本: PHP继承构造方法,成员变量