Die Vererbung ist ein wichtiger Mechanismus für objektorientierte Programmierung. Es ermöglicht eine Klasse, neue Klassen basierend auf einer anderen Klasse zu erstellen, und Unterklassen können die Eigenschaften und Methoden der übergeordneten Klasse erben und damit die Wiederverwendung und Erweiterung der Code implementieren. In PHP wird das Schlüsselwort erweitert , um Unterklassen zu erstellen, während Eltern :: verwendet wird, um Mitgliedermethoden oder Eigenschaften der übergeordneten Klasse aufzurufen.
class Animal {
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 Dog extends Animal {
public function bark() {
return "Woof!";
}
}
$dog = new Dog("Rex", 3);
echo $dog->getInfo(); // Ausgabe "Name: Rex, Age: 3"
echo $dog->bark(); // Ausgabe "Woof!"
Der obige Code zeigt ein Tier der Tierbasisklasse, das Namen und Altersattribute und -methoden enthält, um Informationen zu erhalten. Der Unterklassenhund erbt diese Eigenschaften und Methoden und fügt die Bark () -Methode hinzu, die die grundlegende Verwendung der Vererbung widerspiegelt.
Der Polymorphismus bezieht sich auf dieselbe Schnittstelle oder Methode, die unterschiedliche Verhaltensweisen in verschiedenen Arten von Objekten zeigt. In PHP wird der Polymorphismus hauptsächlich durch Schnittstellen und abstrakte Klasse implementiert. Die Schnittstelle definiert die Methodenspezifikation, während die abstrakte Klasse teilweise Implementierungen bereitstellt und die Unterklasse die abstrakte Methode im Detail implementieren muss. Dies macht den Code flexibler und skalierbarer.
interface Shape {
public function area();
public function perimeter();
}
class Rectangle implements Shape {
private $length;
private $width;
public function __construct($length, $width) {
$this->length = $length;
$this->width = $width;
}
public function area() {
return $this->length * $this->width;
}
public function perimeter() {
return 2 * ($this->length + $this->width);
}
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function area() {
return pi() * pow($this->radius, 2);
}
public function perimeter() {
return 2 * pi() * $this->radius;
}
}
$rectangle = new Rectangle(5, 3);
$circle = new Circle(2);
echo $rectangle->area(); // Ausgabe 15
echo $rectangle->perimeter(); // Ausgabe 16
echo $circle->area(); // Ausgabe 12.566370614359
echo $circle->perimeter(); // Ausgabe 12.566370614359
Im Beispiel müssen sowohl Rechteck- Unterschiedliche Implementierungen machen die gleiche Methode auf unterschiedliche Verhaltensweisen, nämlich die Manifestation des Polymorphismus.
Vererbung und Polymorphismus sind die Grundlage für die programmorientierte PHP-objektorientierte Programmierung. Das Beherrschen dieser beiden kann die Organisation und die Wiederverwendbarkeit des Codes erheblich verbessern. Die Erbschaft ermöglicht es Unterklassen, die Eigenschaften und Methoden der übergeordneten Klasse zu erhalten, um einen doppelten Code zu vermeiden. Durch Polymorphismus können die gleiche Methode unterschiedliche Verhaltensweisen in verschiedenen Objekten über Schnittstellen oder abstrakte Klassen zeigen und damit die Code -Flexibilität verbessern. Der in diesem Artikel bereitgestellte Beispielcode ist für Anfänger geeignet, um diese Konzepte zu verstehen und PHP -Programme mit höherer Qualität zu entwickeln.