PHP OOP,即PHP面向對象編程,具有最重要的三個原則分別為封裝、繼承和多態。在PHP OOP編程中,這些原則是我們應該很好掌握的。
封裝是指將數據和行為封裝在一個類中,對外暴露接口使得外部只能通過內部接口訪問類的數據和行為。在封裝過程中,我們可以使用public、protected和private三種訪問修飾符來定義屬性和方法。
class Person { public $name; protected $age; private $gender; public function __construct($name, $age, $gender) { $this->name = $name; $this->age = $age; $this->gender = $gender; } public function getAge() { return $this->age; } private function getGender() { return $this->gender; } } $person = new Person("Tom", 25, "man"); echo $person->name; // 可以訪問public屬性 echo $person->getAge(); // 可以訪問public方法 echo $person->getGender(); // 不可以訪問private方法
繼承是指一個類可以繼承另一個類的數據和行為,使得我們可以通過繼承來復用代碼。被繼承的類稱為父類或基類,繼承的類稱為子類或派生類。在子類中,我們可以通過parent關鍵字來訪問父類的屬性和方法。
class Person { protected $name; protected $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getInfo() { return "name: {$this->name}, age: {$this->age}"; } } class Student extends Person { protected $score; public function __construct($name, $age, $score) { parent::__construct($name, $age); $this->score = $score; } public function getInfo() { return parent::getInfo() . ", score: {$this->score}"; } } $student = new Student("Tom", 18, 90); echo $student->getInfo(); // name: Tom, age: 18, score: 90
多態是指同一個方法在不同類中可以有不同的實現方式。例如,一個基類的方法可以被不同子類重寫,每個子類都有不同的實現方式。
abstract class Animal { abstract public function sound(); } class Cat extends Animal { public function sound() { echo "Meow"; } } class Dog extends Animal { public function sound() { echo "Woof"; } } $cat = new Cat(); $dog = new Dog(); $cat->sound(); // Meow $dog->sound(); // Woof
在PHP OOP編程中,封裝、繼承和多態是非常重要的原則。我們通過以上的實例代碼,可以更好地了解并掌握這三個原則。