为了账号安全,请及时绑定邮箱和手机立即绑定

PHP继承

任务描述:建立的Truck类,扩展Car类,并覆盖speedUp()方法,使速度累加50、


<?php

class Car {

    public $speed = 0; //汽车的起始速度是0

    

    public function speedUp() {

        $this->speed += 10;

        return $this->speed;

    }

}

//定义继承于Car的Truck类

class Truck extends Car{

    public function speedUp(){

        $this->speed = parent::speedUp() + 50;

        return $this->speed;

    }

}


$car = new Truck();

$car->speedUp();

$car->speedUp();

echo $car->speed;


如果调用两次speedUp()方法,输出:120。这还是Truck类的speed累加50么?

正在回答

6 回答

程序是从上往下运行的,调用两次那就执行两遍。

0 回复 有任何疑惑可以回复我~

根据这三张图来讲,子类重写父类方法时,并不是都必须要去调用父类方法 (parent::+父类方法名)。

0 回复 有任何疑惑可以回复我~

继承并扩展

http://img1.sycdn.imooc.com//5aab394a0001c56706210517.jpg

0 回复 有任何疑惑可以回复我~

可覆盖

http://img1.sycdn.imooc.com//5aab393300016a8906170735.jpg

0 回复 有任何疑惑可以回复我~

可扩展性

http://img1.sycdn.imooc.com//5aab386100010eeb06210470.jpg

1 回复 有任何疑惑可以回复我~

继承,可以扩展(即写新的方法),可以继承(子类默认继承父类所有的方法(构造和析构除外)和属性),可以覆盖(即重写)。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP进阶篇
  • 参与学习       181944    人
  • 解答问题       2668    个

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号