Heim > Artikel > Backend-Entwicklung > Strategie zur Wiederverwendung von Code für PHP-Entwurfsmuster
Zu den Strategien zur Wiederverwendung von PHP-Code gehören: Vererbung: Unterklassen erben Eigenschaften und Methoden der übergeordneten Klasse. Zusammensetzung: Eine Klasse enthält Instanzen anderer Klassen oder Objekte. Abstrakte Klasse: Bietet eine teilweise Implementierung und definiert die zu implementierenden Methoden. Schnittstelle: Definiert Methoden, keine Notwendigkeit, sie zu implementieren.
PHP-Entwurfsmuster: Code-Wiederverwendungsstrategie
Einführung
Die Wiederverwendung von Code ist ein wichtiges Prinzip in der Softwareentwicklung, das die Menge an Codeduplizierungen reduzieren, die Entwicklungseffizienz und die Wartbarkeit des Codes verbessern kann. PHP bietet eine Vielzahl von Strategien, um die Wiederverwendung von Code zu erreichen. Zu den am häufigsten verwendeten gehören:
Praktischer Fall: Erstellen ein Tierklassenbibliothek
Um diese Strategien zu veranschaulichen, nehmen wir als Beispiel den Aufbau einer Tierklassenbibliothek.
Vererbung
Vererbung ermöglicht Unterklassen, die Eigenschaften und Methoden der übergeordneten Klasse zu erben. Beispielsweise könnten wir eine Mammal-Klasse erstellen, die von der Animal-Klasse erbt:
class Animal { protected $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } class Mammal extends Animal { protected $numLegs; public function __construct($name, $numLegs) { parent::__construct($name); $this->numLegs = $numLegs; } public function getNumLegs() { return $this->numLegs; } }
Composition
Composition ermöglicht es einer Klasse, Instanzen anderer Klassen oder Objekte zu enthalten. Beispielsweise können wir eine sprechende Tierklasse erstellen, indem wir die Tierklasse und die sprechende Schnittstelle kombinieren:
interface Speakable { public function speak(); } class TalkingAnimal { protected $animal; protected $speakable; public function __construct(Animal $animal, Speakable $speakable) { $this->animal = $animal; $this->speakable = $speakable; } public function speak() { $this->speakable->speak(); } }
Abstrakte Klasse
Abstrakte Klassen bieten nur eine teilweise Implementierung und definieren Methoden, die Unterklassen implementieren müssen. Beispielsweise können wir eine abstrakte Tierklasse erstellen, die allgemeine Methoden enthält und Unterklassen benötigt, um bestimmte Methoden zu implementieren:
abstract class AbstractAnimal { protected $name; public function getName() { return $this->name; } abstract public function move(); } class Dog extends AbstractAnimal { protected $numLegs; public function __construct($name, $numLegs) { $this->name = $name; $this->numLegs = $numLegs; } public function move() { echo "The dog runs on $this->numLegs legs."; } }
Interface
Eine Schnittstelle definiert eine Reihe von Methoden, erfordert jedoch keine Implementierung. Dadurch können Klassen durch die Implementierung von Schnittstellen spezifisches Verhalten bereitstellen. Wir können zum Beispiel eine entfernbare Schnittstelle erstellen:
interface Movable { public function move(); } class Dog implements Movable { // Implement the move method }
Das obige ist der detaillierte Inhalt vonStrategie zur Wiederverwendung von Code für PHP-Entwurfsmuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!