没错!在正方形类中,calculateArea() 方法的逻辑是 $side \times side$,而圆形类则使用 $\pi \times r^2$。即使方法名相同,实现方式也会根据对象而改变。这就是多态性的实际应用。🎭最后一个支柱:抽象☁️抽象是指隐藏复杂的“如何做”,只显示必要的“做什么”。想想咖啡机☕。要喝拿铁,你只需按下一个按钮。你不需要知道确切的水压、锅炉的温度,或者咖啡豆的研磨方式。你只需要与简单的界面(按钮)交互。在 PHP 中,我们使用抽象类来创建一个模板,强制子类遵循某些规则,但并不定义如何满足这些规则。
abstract class Appliance {
// Every appliance MUST have a turnOn method
abstract public function turnOn();
// But they can all share this common function
public function plugIn() {
return "Appliance is plugged into the wall.";
}
}
class Toaster extends Appliance {
public function turnOn() {
return "Heating up the coils! 🔥";
}
}
请注意,您不能直接从抽象类创建对象(您不能创建一个名为“通用电器”的对象)。您只能创建特定类型的电器,例如烤面包机。

整合所有内容:图书馆系统
我们已经介绍了四大支柱!现在,让我们构建这个“图书馆系统”,看看它们是如何协同工作的。首先,我们将定义一个基本的 Book 类。我们需要确保书名和作者是受保护的,这样它们就不会被意外地更改为无意义的内容。
我们将使用私有属性和构造函数在创建书籍时设置其详细信息。
class Book {
private $title;
private $author;
private $isAvailable = true;
public function __construct($title, $author) {
$this->title = $title;
$this->author = $author;
}
// A "Getter" to see the title since it is private
public function getTitle() {
return $this->title;
}
public function getAvailability() {
return $this->isAvailable;
}
}
现在,我们来思考一下借书的逻辑。我们需要一个方法来检查书籍是否可用。如果可用,则将其标记为不可用;如果已被借出,则通知用户。
您会如何在 borrowBook() 方法中编写逻辑来检查 $isAvailable 状态并将其更改为 false 呢?
WP开发教程 WordPress导师在线教程