Heim > Artikel > Backend-Entwicklung > Fortgeschrittene objektorientierte PHP-Programmierung: Verständnis von Polymorphismus und Vererbung
Bei der objektorientierten Programmierung ermöglicht der Polymorphismus, dass Objekte auf unterschiedliche Weise auf dieselben Methodenaufrufe reagieren, während die Vererbung es Unterklassen ermöglicht, Funktionen der übergeordneten Klasse zu erben und zu erweitern. Polymorphismus manifestiert sich in der unterschiedlichen Reaktion verschiedener Objekttypen auf dieselbe Methode, beispielsweise die speak()-Methode von Tier-, Hunde- und Katzenobjekten. Die Vererbung spiegelt sich darin wider, dass die Unterklasse Daten und Methoden von der übergeordneten Klasse erbt. Beispielsweise erbt die Mitarbeiterklasse den Namen und das Alter von der menschlichen Klasse und fügt ein neues Gehaltsattribut hinzu. Im tatsächlichen Fall erbt die Kiwi-Klasse den Fruchtnamen der Fruchtklasse, während die Sportwagenklasse die getType()-Methode in der übergeordneten Klasse durch Polymorphismus umschreibt, wodurch unterschiedliche Antworten auf dieselbe Methode in der Autoklasse realisiert werden und „Auto“ zurückgegeben wird " bzw. "Auto". Typinformationen für "Sportwagen".
Erweiterte objektorientierte PHP-Programmierung: Polymorphismus und Vererbung verstehen
Übersicht
Polymorphismus und Vererbung sind zwei Grundkonzepte der objektorientierten Programmierung (OOP). Durch Polymorphismus können Objekte auf unterschiedliche Weise auf denselben Methodenaufruf reagieren, während Vererbung die Erstellung neuer Klassen ermöglicht, die die Funktionalität bestehender Klassen erben und erweitern.
Polymorphismus
Polymorphismus ermöglicht es einem Objekt, je nach Typ unterschiedliche Operationen auszuführen.
class Animal { public function speak() { echo "Animal speaks\n"; } } class Dog extends Animal { public function speak() { echo "Dog barks\n"; } } class Cat extends Animal { public function speak() { echo "Cat meows\n"; } } $dog = new Dog(); $dog->speak(); // 输出:Dog barks $cat = new Cat(); $cat->speak(); // 输出:Cat meows
Inheritance
Inheritance ermöglicht die Erstellung neuer Klassen (Unterklassen), die Daten und Methoden von vorhandenen Klassen (Elternklassen) erben.
class Person { protected $name; protected $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } } class Employee extends Person { private $salary; public function __construct($name, $age, $salary) { parent::__construct($name, $age); // 调用父类构造函数 $this->salary = $salary; } public function getSalary() { return $this->salary; } } $employee = new Employee("John Doe", 30, 50000); echo "Employee name: " . $employee->getName() . "\n"; echo "Employee salary: " . $employee->getSalary() . "\n";
Praktischer Fall
Fruchtklasse und Kiwi-Klasse (Vererbung)
class Fruit { protected $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } class Kiwi extends Fruit { public function __construct() { parent::__construct("Kiwi"); } } $kiwi = new Kiwi(); echo "Fruit name: " . $kiwi->getName() . "\n";
Autoklasse und Sportwagenklasse (Polymorphismus)
class Car { protected $make; protected $model; public function __construct($make, $model) { $this->make = $make; $this->model = $model; } public function getType() { return "Car"; } } class SportsCar extends Car { public function getType() { return "Sports Car"; } } $car = new Car("Toyota", "Camry"); $sportsCar = new SportsCar("Ferrari", "F430"); echo "Car type: " . $car->getType() . "\n"; echo "Sports car type: " . $sportsCar->getType() . "\n";
Das obige ist der detaillierte Inhalt vonFortgeschrittene objektorientierte PHP-Programmierung: Verständnis von Polymorphismus und Vererbung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!