<?php
//定义一个类
class Car {
//定义属性
public $name = '汽车';
//定义方法
public function getName() {
//方法内部可以使用$this伪变量调用对象的属性或者方法
echo $this->name;
}
}
$car = new Car();
//也可以采用变量来创建
$car->name='Car';
$car->getName();
?>
与
//定义一个类
class Car {
//定义属性
public $name = '汽车';
//定义方法
public function getName() {
//方法内部可以使用$this伪变量调用对象的属性或者方法
return $this->name;
}
}
$car = new Car();
//也可以采用变量来创建
$className = 'Car';
$car = new $className();
这两段代码有什么区别
第一段代码会在屏幕echo一个结果,是执行getName()方法的时候输出的,但是$car不会获得其值。
第二段代码不会输出值,要输出就要echo $car,因为getName()方法将值返还给了$car,而没有直接输出。
// 第一段 class Car { public $name = '汽车'; public function getName() { echo $this->name; } } $car = new Car(); // 实例化一个对象 $car->name='Car'; // 把对象的属性$name赋值为Car $car->getName(); // 调用对象的方法,输出:Car //第二段 class Car { public $name = '汽车'; public function getName() { return $this->name; } } $car = new Car(); // 实例化一个对象 $className = 'Car'; $car = new $className(); // 实例化一个对象
一个是方法内的返回输出,前一个用echo,后一个return.
另外一个就是两者类的声明方式不同