PHP 物件導向程式設計可透過擴充和客製化類別實現擴充。擴充類別透過繼承父類別屬性和方法,並可新增屬性和方法;自訂類別則透過實作介面的方法來實作特定功能。在實戰案例中,透過擴展抽象類別 Shape,創建了 Circle 和 Rectangle 等具體形狀,可動態計算面積。
PHP 物件導向程式設計:擴充與客製化
物件導向程式設計(OOP) 可讓您建立可重複使用、可維護的代碼。在 PHP 中,OOP 可以透過擴展和自訂現有類別來進一步擴展。
擴充類別
使用 extends
關鍵字可以擴充一個類別。擴展後的類別繼承父類別的所有屬性和方法,並可以新增屬性和方法。
class BaseClass { protected $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } class ExtendedClass extends BaseClass { private $age; public function __construct($name, $age) { parent::__construct($name); $this->age = $age; } public function getAge() { return $this->age; } }
自訂類別
使用 implements
關鍵字可以自訂一個類,讓它實作一個或多個介面。介面定義了一組方法,該類別必須實作這些方法。
interface MyInterface { public function doSomething(); } class MyClass implements MyInterface { public function doSomething() { // 具体实现 } }
實戰案例
考慮一個抽象類別 Shape
,它定義了一個 getArea()
方法。我們擴展此類以創建具體形狀,例如 Circle
和 Rectangle
。
abstract class Shape { protected $color; public function __construct($color) { $this->color = $color; } abstract public function getArea(); } class Circle extends Shape { private $radius; public function __construct($color, $radius) { parent::__construct($color); $this->radius = $radius; } public function getArea() { return pi() * $this->radius ** 2; } } class Rectangle extends Shape { private $width; private $height; public function __construct($color, $width, $height) { parent::__construct($color); $this->width = $width; $this->height = $height; } public function getArea() { return $this->width * $this->height; } }
我們可以建立 Circle
和 Rectangle
物件並存取它們各自的 getArea()
方法,從而動態地計算面積。
以上是PHP物件導向程式設計的深入理解:物件導向程式設計的擴展與客製化的詳細內容。更多資訊請關注PHP中文網其他相關文章!