为了账号安全,请及时绑定邮箱和手机立即绑定

两段代码的区别

<?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();

这两段代码有什么区别



正在回答

3 回答

第一段代码会在屏幕echo一个结果,是执行getName()方法的时候输出的,但是$car不会获得其值。

第二段代码不会输出值,要输出就要echo $car,因为getName()方法将值返还给了$car,而没有直接输出。


0 回复 有任何疑惑可以回复我~
// 第一段
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(); // 实例化一个对象


0 回复 有任何疑惑可以回复我~

一个是方法内的返回输出,前一个用echo,后一个return.

另外一个就是两者类的声明方式不同

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

两段代码的区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信