PHP inheritance and polymorphism are important concepts in object-oriented programming. They not only improve the readability and maintainability of the code, but also enhance the flexibility and scalability of the code. Through inheritance, subclasses can inherit the properties and methods of the parent class, reducing code duplication; while polymorphism allows different objects to respond differently to the same message, improving the flexibility of the code. This article will delve into the application of inheritance and polymorphism in PHP to help readers better understand and apply these two important object-oriented programming concepts.
class Person { protected $name; protected $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } public function getAge() { return $this->age; } } class Student extends Person { private $school; public function __construct($name, $age, $school) { parent::__construct($name, $age); $this->school = $school; } public function getSchool() { return $this->school; } } $student = new Student("John Doe", 20, "Harvard University"); echo $student->getName(); // John Doe echo $student->getAge(); // 20 echo $student->getSchool(); // Harvard University
The above code demonstrates the use of php inheritance. Person class is the parent class and Student class is the child class. The Student class inherits the properties and methods of the Person class and adds new properties and methods. This way, the Student class can reuse code from the Person class and extend it according to its own needs.
Polymorphism means that objects can be expressed in different forms. In PHP, polymorphism can be achieved through method overriding. When a subclass overrides a method of a parent class, the subclass can provide its own implementation to achieve different behaviors. This makes the code more flexible and easy to extend.
class Animal { protected $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } public function speak() { echo "Animal speaks."; } } class Cat extends Animal { public function speak() { echo "Meow!"; } } class Dog extends Animal { public function speak() { echo "Woof!"; } } $animals = [new Cat("Kitty"), new Dog("Buddy")]; foreach ($animals as $animal) { echo $animal->getName() . ": "; $animal->speak(); echo "<br>"; }
The above code demonstrates the use of PHP polymorphism. Animal class is the parent class, Cat class and Dog class are subclasses. Both Cat and Dog classes override the speak() method in the parent class to provide their own implementation. In this way, when we traverse the animals array, each animal object will call its own speak() method, concurrently produce different sounds.
Inheritance and polymorphism have a wide range of application scenarios in actual projects. The following are some common application scenarios:
Inheritance and polymorphism are important concepts in PHP object-oriented programming. They can improve the readability, maintainability and scalability of the code. Through the introduction of this article, I hope you can better understand the use of PHP inheritance and polymorphism, and use them flexibly in actual projects.
The above is the detailed content of PHP inheritance and polymorphism: guarantee of code readability and maintainability. For more information, please follow other related articles on the PHP Chinese website!