<?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.
另外一个就是两者类的声明方式不同