PHP 起步篇 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

使用构造函数

  对类体进行初始化主要有两种方法。第一种方法是在类体中定义一个专门的用于对类体进行初始化的方法。第二种方法是应用构造函数实现类体的初始化。如下代码:

<?php
header("Content-Type:text/html;charset=utf-8;");
class car{
  public $color;
  public $size;

  public function setAttribute($x,$y){   //属性初始化
    $this->color=$x;
    $this->size=$y;
  }

  public function printAttribute(){  //输同属性
    echo "颜色:".$this->color;
    echo " 大小:".$this->size."米";  
  }
}
$bus=new car();
$bus->setAttribute("blue","20");   //初始化类的内部成员
$bus->printAttribute();            //输出结果
?>

运行结果为:颜色:blue 大小:20米

  由于对类中属性的初始化工作频繁,如果每定义一个类都定义用于实现类体内属性初始化的方法会显得十分繁琐。为了解决这个问题,面向对象的编程提供了构造函数的概念。通过构造函数来初始化。PHP中构造函数统一的命名为__construct(),作用就是对类体进行初始化,并可在实例化对象时为构造函数指定参数。

<?php
header("Content-Type:text/html;charset=utf-8;");
class car{
  public $color;
  public $size;

  public function __construct($x,$y){ //通过构造函数对类体中的属性进行初始化
    $this->color=$x;
    $this->size=$y;
  }

  public function printAttribute(){
    echo "颜色:".$this->color;
    echo " 大小:".$this->size."米";  
  }
}
$bus=new car("blue","20");    //在实例化对象时为类体中属性指定初始值
$bus->printAttribute();
?>

运行结果为:颜色:blue 大小:20米

:构造函数是在对类体进行实例化时自动调用的。