父类
class Pc { protected $brand; protected $oled; protected $price; public function __construct($brand,$oled,$price) { $this->brand = $brand; $this->oled = $oled; $this->price = $price; } public function game() { return '发烧级显卡'; } }
子类
class Ipad extends Pc { public function __get($name) { return $this->$name; } private $bluetooth; private $ssd; public function __construct($brand, $oled, $price,$bluetooth,$ssd) { parent::__construct($brand, $oled, $price); $this->bluetooth = $bluetooth; $this->ssd = $ssd; } public function game() { return parent::game().'支持VR功能'; } }
实例化类,并重载
header("Content-type:text/html;charset=utf-8"); spl_autoload_register(function($className){ require 'class/'.$className.'.php'; }); $pad = new Ipad(' DELL', 10.0,5000,true,false); echo '品牌:'.$pad->brand.'<br>'; echo '屏幕尺寸:'.$pad->oled.'<br>'; echo '价格:'.$pad->price.'<br>'; echo '蓝牙: '.($pad->bluetooth ? '不支持':'支持').'<br>'; echo '固态硬盘: '.($pad->ssd ? '不支持':'支持').'<br>'; echo $pad->game();
总结 继承父类使用关键字extends
protected指在本类和子类中可以访问
在子类中初始化父类属性,使用parent::__construct()
在子类重载父类的方法,在子类创建同名方法,调用父类方法使用parent::