关于类名::方法名调用的问题

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

a10282465693872396

2016-09-12 14:21

<?php

class car{

public static $speed=10;

public   static function getspeed(){

return self::$speed;}

public  static function speedup(){

return self::$speed+=10;}}

class abb extends car{

public  static function start(){

return parent::speedup();}}

abb::start();            echo abb::getspeed();

还有一个问题,请看最后子类类名::子类方法来调用执行方法得到speed为20.然后利用子类类名::父类方法输出结果为20,那如果我用car::getspeed();这种父类类名::父类方法也能得到20,有区别吗这种不同的调用


写回答 关注

2回答

  • onTheLine3320682
    2016-09-12 14:28:01
    已采纳

    static

    a10282...

    非常感谢!

    2016-09-12 16:56:32

    共 2 条回复 >

  • 慕慕8584764
    2016-09-12 14:41:15

    abb::getspeed();和car::getspeed();这两种调用都是直接调用父类的getspeed()方法。

    而abb::start()输出的结果也是20是因为在start()直接返回了父类的getspeed()调用,但是除此之外,在编写代码的时候start()方法还可以做其他事情。

PHP进阶篇

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

181727 学习 · 2575 问题

查看课程

相似问题