日期:2014-05-17 浏览次数:20487 次
发现自己对这些概念一直比较模糊,特总结如下:
?
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();