1.继承:以一个类为父类,另一个类可以作为其子类
子类在继承了父类的属性/方法的基础上,进一步增添或修改
2.语法:
class 子类 extends 父类{
}
例如:(一个比较简单的例子)
class Human{
private $height=160;
public function cry(){
echo '555';
}
}
class Stu extends Human{
}
$m=new Stu();
$m->cry();
3.注意:<1>子类只能继承自一个父类;
子类继承父类的属性/方法,可以修改或增加
<2>子类可以继承父类的非私有属性/方法
私有的属性,可以理解不能继承
(其实可以继承过来,只是不能操作)
public、protected可以完全继承过来,并有权操作
4.继承时权限的变化
子类的方法比父类的方法权限严格
5.构造方法的继承
<1>构造方法也可以继承,而且原则和普通方法一样
<2>如果子类也声明构造函数,则父类构造函数被覆盖了
<3>如果子类继承时,子类有构造函数,保险一点,调用parent::__construct
<4>若子类构造函数与父类构造函数都存在,父类构造函数先运行
//java中构造函数不是__construct,而是和类名相同的方法理解为构造函数
}
6.访问权限的区别
public 可以在类内、外调用,protected、private 不能
protected可以在子类访问
若不写public,则自动理解为public