PHP中类的继承与方法重写

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

  

转载请注明:九层楼 » PHP中类的继承与方法重写

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址