为什么这样写代码是错的啊

来源:2-4 PHP类和对象之定义类的方法

完美世界大牛

2017-03-18 14:31

<?php
class car{
 public $speed=0;
 public function speedUp(){
  return $speed+10;
 }
 $car=new Car();
 $car->speedUP()
 echo $car->speed;
 ?>

写回答 关注

4回答

  • 渣渣一只螺
    2017-07-11 14:22:14

    因为这句代码return $speed+10;他返回的是$speed +10 的值,而下面你调用输出的是 
     echo $car->speed;的值,改的话方法里可以这么写

    public function speedUp()

    {

        $speed = $speed + 10;

        return $speed;

    }

  • 会喷火的大怪龙
    2017-05-05 09:53:25

    你这么写思路不够简洁,逻辑有问题啊

  • 慕粉4060693
    2017-03-18 15:25:14

    class Car{//大写

        public  $speed=0;

        public function speedUp(){

            return $this->speed+=10;

        }

    }//您打少了花括号

        $c = new Car();

        $c->speedUp(); //注意大小写

        echo $c->speed;

    这样就行了

    渣渣一只螺

    跟少打没有关系,这是内部类调用也是用这种写法

    2017-07-11 14:17:30

    共 1 条回复 >

  • 槿宸
    2017-03-18 15:11:41

    问题在类里面,return $speed+10;这里返回值虽然加了10,但是变量speed本身并没有改变,所以最后输出的还是0

PHP进阶篇

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

181724 学习 · 2575 问题

查看课程

相似问题