<?php
class Vehicle
{
var $speed;

function accelerate($num)
{
if($this->speed + $num < 150)
{
$this->speed += $num;       //这就是对$speed的赋值
echo $this->speed;
}
else
{
$this->speed = 150;         //这就是对$speed的赋值
}
} function decelerate($num)
{
if($this->speed > $num)
$this->speed -= $num;        //这就是对$speed的赋值
else
return 0;
}
}$vehicle = new Vehicle;
$vehicle->accelerate(45);//a1: 赋值 $this->speed = 100; 在类用要用$this关键字.根据面像对像的思想,对成员的赋值最好放在方法中.
//a2: 这就就像调用函数差不多  
//a3: ~·#¥%……问得好怪..  :(
//a4: $speed是当前速度值,$num是此次要加的速度值.
///:~ 如果错了不要P我。。  :)
?>

解决方案 »

  1.   

    简单讲类里面$this->speed相当于非类的$speed写法
    楼上的代码就很清晰了
      

  2.   

    1、定义的$speed,在调用的时候,怎么赋值哪
    答:这里定义的$speed是作为类的一个成员变量,其作用范围只是在类的内部.你可以通过一个方法将外部的值赋给他,也可以通过实例化类之后,以 实例->speed = XXXX的方式对其赋值.2、在调用的时候$vehicle=new Vehicle;
    $vehicle->accelerate(45);
    这里的45是不是指向$num哪
    答: 45作为从外部传入的一个参数,在accelerate方法中经过判断后分别进行处理,他指向$num;3、$speed用不用赋值?
    答:变量不赋值就没有存在的必要.4、$speed和$num什么区别哪
    答:speed是作为初始设置,num作为速度调节参数.在accelerate方法中.如果初始值加上num小于150,那么就把把他们的和作为新的speed,即加速.同理在后面的减速方法中也一样.