<?php
class father
{
public function __construct()
{
$this->init();
}
private function init()
{
echo "father\n";
}
}
class son extends father
{
public function init()
{
echo "son\n";
}
}
$son = new son();
1. new son 这个类的时候,会先调用 基类 father 的构造函数
2.基类构造函数 又调用 init(); 所以输出father
3.private 只能限制son 不能直接访问father类 init,但是不能限制 基类调用 自身的private 方法
4.如果没有定义子类构造方法的,默认调用父类构造方法
5.如果定义了子类的构造方法,那么就直接调用自身
6.如果定义了子类的构造方法,同时又想调用父类的构造方法,则在子类的构造方法里parent::__contrust