PHP面向对象编程

发布日期: 2026年3月12日

类和对象

在PHP中定义类和创建对象:

<?php
class Car {
    public $color;
    public $model;
    
    public function __construct($color, $model) {
        $this->color = $color;
        $this->model = $model;
    }
    
    public function message() {
        return "我的车是" . $this->color . "色的" . $this->model;
    }
}

$myCar = new Car("红", "丰田");
echo $myCar->message();
?>

继承

类可以继承另一个类的属性和方法:

<?php
class Vehicle {
    public $brand;
    
    public function honk() {
        echo "嘟嘟!";
    }
}

class Car extends Vehicle {
    public $model;
    
    public function display() {
        echo "品牌: " . $this->brand . ", 型号: " . $this->model;
    }
}

$car = new Car();
$car->brand = "本田";
$car->model = "雅阁";
$car->display();
?>

访问修饰符

PHP支持三种访问修饰符:

  • public - 可以从任何地方访问
  • protected - 只能在类内部和子类中访问
  • private - 只能在类内部访问
<?php
class MyClass {
    public $public = "公开";
    protected $protected = "受保护";
    private $private = "私有";
    
    public function getPrivate() {
        return $this->private;
    }
}
?>

接口和抽象类

使用接口定义类必须实现的方法:

<?php
interface Animal {
    public function makeSound();
}

class Dog implements Animal {
    public function makeSound() {
        echo "汪汪!";
    }
}

class Cat implements Animal {
    public function makeSound() {
        echo "喵喵!";
    }
}
?>