- <?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(),'元!';