定义基本类

PHP 中的对象包含变量和函数。对象通常属于一个类,它定义了此类的所有对象将包含的变量和函数。

定义类的语法是:

class Shape {
    public $sides = 0;
    
    public function description() {
        return "A shape with $this->sides sides.";
    }
}

定义类后,你可以使用以下命令创建实例:

$myShape = new Shape();

对象的变量和函数可以这样访问:

$myShape = new Shape();
$myShape->sides = 6;

print $myShape->description(); // "A shape with 6 sides"

构造函数

类可以定义一个特殊的 __construct() 方法,该方法作为对象创建的一部分执行。这通常用于指定对象的初始值:

class Shape {
    public $sides = 0;
    
    public function __construct($sides) {
        $this->sides = $sides;
    }
    
    public function description() {
        return "A shape with $this->sides sides.";
    }
}

$myShape = new Shape(6);

print $myShape->description(); // A shape with 6 sides

扩展另一类

类定义可以扩展现有的类定义,添加新的变量和函数,以及修改父类中定义的那些。

这是一个扩展前一个示例的类:

class Square extends Shape {
    public $sideLength = 0;
    
    public function __construct($sideLength) {
       parent::__construct(4);
       
       $this->sideLength = $sideLength;
    }
    
    public function perimeter() {
        return $this->sides * $this->sideLength;
    }

    public function area() {
        return $this->sideLength * $this->sideLength;
    }
}

Square 类包含 Shape 类和 Square 类的变量和行为:

$mySquare = new Square(10);

print $mySquare->description()/ // A shape with 4 sides

print $mySquare->perimeter() // 40

print $mySquare->area() // 100