Heim >Backend-Entwicklung >PHP-Problem >Was ist die Idee des Liskov-Substitutionsprinzips in PHP?
In PHP ist das Liskov-Substitutionsprinzip eine Einschränkung der Klassenvererbung. Die Hauptidee dieses Prinzips besteht darin, dass ungeeignete Klassen mit redundanten Methoden oder Attributen die Funktionen der übergeordneten Klasse nicht erweitern können Die ursprüngliche Funktion der übergeordneten Klasse kann nicht geändert werden.
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 7.1, Dell G3-Computer.
Das Liskov-Substitutionsprinzip besagt, dass das Programm keine Fehler oder Ausnahmen erzeugt, wenn ein Basisklassenobjekt durch sein Unterklassenobjekt in der Software ersetzt wird. und umgekehrt. Nein, wenn eine Software-Entität ein Unterklassenobjekt verwendet, kann sie möglicherweise nicht unbedingt ein Basisklassenobjekt verwenden.
Das Liskov-Substitutionsprinzip ist eine der wichtigen Methoden zur Implementierung des Öffnungs- und Schließprinzips. Da Unterklassenobjekte überall dort verwendet werden können, wo Basisklassenobjekte verwendet werden, versuchen Sie, Basisklassentypen zum Definieren von Objekten im Programm und zur Laufzeit zu verwenden Bestimmen Sie den Typ seiner Unterklasse und ersetzen Sie das Objekt der übergeordneten Klasse durch das Objekt der Unterklasse.
Bei Verwendung des Liskov-Substitutionsprinzips ist zu beachten, dass alle Methoden der Unterklasse in der übergeordneten Klasse deklariert werden müssen oder die Unterklasse alle in der übergeordneten Klasse deklarierten Methoden implementieren muss. Versuchen Sie, die übergeordnete Klasse als abstrakte Klasse oder Schnittstelle zu entwerfen, die Unterklasse die übergeordnete Klasse erben oder die übergeordnete Schnittstelle implementieren zu lassen und die in der übergeordneten Klasse deklarierten Methoden zu implementieren. Zur Laufzeit ersetzt die Unterklasseninstanz die übergeordnete Klasseninstanz und wir Die Systemfunktion kann problemlos erweitert werden, und der Code der ursprünglichen Unterklasse muss nicht geändert werden. Das Hinzufügen neuer Funktionen kann durch Hinzufügen einer neuen Unterklasse erreicht werden.
Durch einen Code verstehen
<?php //例子1 class Bird{ protect function fly(){ } } //翠鸟 class KingFisher extends Bird{ } //鸵鸟 class Ostrich extends Bird{ //鸵鸟不会飞啊 } //例子2 class A{ protect function add($a, $b){ return $a + $b; } } //重载 class B extends A{ protected function add($a, $b){ return $a + $b + 100; } } ?>
Das Liskov-Substitutionsprinzip ist eine Einschränkung der Klassenvererbung. Es gibt zwei Verständnisse des Liskov-Substitutionsprinzips:
1 Sie können nicht einfach ungeeignete Klassen mit redundanten Methoden oder Attributen erben. (Beispiel 1)
2. Unterklassen können die Funktionen der übergeordneten Klasse erweitern, jedoch nicht die ursprünglichen Funktionen der übergeordneten Klasse ändern. (Beispiel 2)
Das Liskov-Substitutionsprinzip enthält die folgenden versteckten Bedeutungen:
① Eine Unterklasse kann die abstrakte Methode der übergeordneten Klasse implementieren, aber die nicht abstrakte Methode der übergeordneten Klasse nicht überschreiben.
② Unterklassen können ihre eigenen einzigartigen Methoden hinzufügen.
③ Wenn eine Methode einer Unterklasse eine Methode einer übergeordneten Klasse überschreibt, sind die Vorbedingungen der Methode (d. h. die formalen Parameter der Methode) lockerer als die Eingabeparameter der Methode der übergeordneten Klasse.
④ Wenn eine Methode einer Unterklasse eine abstrakte Methode einer übergeordneten Klasse implementiert, sind die Nachbedingungen der Methode (d. h. der Rückgabewert der Methode) strenger als die der übergeordneten Klasse.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist die Idee des Liskov-Substitutionsprinzips in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!