<?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我。。 :)
?>
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我。。 :)
?>
楼上的代码就很清晰了
答:这里定义的$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,即加速.同理在后面的减速方法中也一样.