两段代码的区别

来源:2-2 PHP类和对象之创建一个对象

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

这两段代码有什么区别



写回答 关注

3回答

  • amacyan
    2018-08-13 00:32:30

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

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


  • 有为小青年丶
    2017-06-30 19:46:30
    // 第一段
    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(); // 实例化一个对象


  • 慕码人1038186
    2017-05-27 19:27:39

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

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

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181727 学习 · 2575 问题

查看课程

相似问题