self和parent在使用过程中有什么不同之处?

来源:2-6 PHP类和对象之Static静态关键字

幕布斯0275618

2019-07-27 11:48

<?php
class Car {
    private static $speed = 10;
    
    public static function getSpeed() {
        return self::$speed;
    }
    
    public static function speedUp() {
        return self::$speed+=10;
    }
}
class BigCar extends Car {
    public static function start() {
        self::speedUp();
    }
}

BigCar::start();
echo BigCar::getSpeed();

在子类BigCar中self和parent的代码执行的效果一样。

写回答 关注

1回答

  • 南风丿过境丶
    2019-07-27 22:32:29

    self操作的是当前类的属性和方法,需要用::调用,英语的意思就是自身的。然后parent操作当前的父类。你这里使用的是BigCar的start方法,然后操作从父类继承下来的speedUp方法,只调用了一次speedUp,你使用parent调用的是父类本身的speedUp方法,同样也是使用了一次speedUp,所以两个代码的执行效果一样。

PHP进阶篇

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

181728 学习 · 2575 问题

查看课程

相似问题