 
		php_bao
2017-05-27 15:06
<?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.
另外一个就是两者类的声明方式不同
PHP进阶篇
181961 学习 · 2668 问题
相似问题
回答 3
回答 1
回答 1
回答 2
回答 1