2-3 PHP类和对象之类的属性
本节编程练习不计算学习进度,请电脑登录imooc.com操作

PHP类和对象之类的属性

在类中定义的变量称之为属性,通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。属性的变量可以设置初始化的默认值,默认值必须是常量。

访问控制的关键字代表的意义为:

public:公开的
protected:受保护的
private:私有的

class Car {
    //定义公共属性
    public $name = '汽车';

    //定义受保护的属性
    protected $corlor = '白色';

    //定义私有属性
    private $price = '100000';
}

默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。

$car = new Car();
echo $car->name;   //调用对象的属性
echo $car->color;  //错误 受保护的属性不允许外部调用
echo $car->price;  //错误 私有属性不允许外部调用

受保护的属性与私有属性不允许外部调用,在类的成员方法内部是可以调用的。

class Car{
    private $price = '1000';
    public function getPrice() {
        return $this->price; //内部访问私有属性
​    }
}

任务

我也来试一试:定义一个属性name,并输出该属性的值

1、在右侧代码编辑器第4行输入下面代码:

public $name = '汽车';

2、在右侧代码编辑器第8行在echo语句后输入下面代码:

$car->name;

 

  1. <?php
  2. class Car{
  3. //在这里定义一个共有属性name
  4.  
  5. }
  6. $car = new Car();
  7. //在这里输出$car对象的name属性
  8. echo
下一节