继承:子类继承父类或者基类,比如魅族手机、小米手机、华为手机是子类,手机是基类。
- PHP不支持多重继承,一个类只能继承一个基类。
- 一个类在声明的时候可以用extends继承另一个类的属性和方法。
- 父类的方法和属性可以被子类重新声明并覆盖,但如果父类定义方法时用了final,则该方法不能被子类覆盖。
- 通过parent::来访问父类被覆盖的方法和属性。
- 子类覆盖父类方法时,参数必须保持一致。否则会产生E_STRICT级别的错误信息。
- 构造函数可在被覆盖时使用不同的参数。
class Phone {
public $price = 3699;//手机的起始价格
public function price(){
$this->price += 20;
return $this->price;
}
}
//魅族类price方法覆盖基类,并把价格降300
class Meizu extends Phone{
public function price(){
$this->price = parent::price() - 300;//parent::方法名()调用基类price方法
return $this->price;
}
}
$phone = new Meizu();
$phone->price();//调用price方法
echo $phone->price;//取price值