php中類的繼承與方法重寫,歡迎大神補充指點!
<?php
namespace _1009;
class Demo5
{
//實例屬性
public $product;
public $price;
//構造方法
public function __construt($product = '手機',$price = 3800)
{
$this->product = $product;
$this->price = $price;
}
//實例方法
public function getInfo()
{
return '品名:'.$this->product.'價格:'.$this->price.'<br>';
}
}
//子類sub1繼承Demo5父類,實現代碼復用
class sub1 extends Demo5
{
//...
}
//實例化sub1類
$sub1 = new sub1('手機',2500);
echo $sub1->getInfo();//子類的實例調用父類的方法
//子類sub2繼承Demo5父類,來擴展,就是增加屬性或方法
class sub2 extends Demo5
{
//添加一個自定義屬性
public $num;
//子類的構造方法
public function __construt($product = '手機', $price = 3800)
{
//parebt代表當前的父類
parent::__construt($product, $price);
//等價於$this->product = $product,$this->price = $price
//自定義屬性的初始化
$this->num = $num;
}
//擴展一個方法
public function toal()
{
return round($this->price * $this->num ,2);
}
}
//實例化子類
$sub2 = new sub2(13,'電腦',2640);
echo $this->product.'的總價:'.$sub2->toal(),'元!';
