Was ist Polymorphismus?
Polymorphismus ist das dritte Merkmal von objektorientierten Sprachen nach Datenbankabstraktion und Vererbung. Polymorphismus bezieht sich auf mehrere Formen und hat die Fähigkeit, mehrere Formen auszudrücken. Bei objektorientierten Darstellungen wird je nach Objekttyp unterschiedlich gehandhabt. Durch Polymorphismus kann jedes Objekt auf seine eigene Weise auf eine gemeinsame Nachricht reagieren. Polymorphismus erhöht die Flexibilität und Wiederverwendbarkeit der Software.
Wenn wir eine doing()-Methode erstellen und es sich um einen Schüler handelt, wird diese für den Unterricht gedruckt, und wenn es sich um einen Firmenmitarbeiter handelt, wird sie für die Arbeit gedruckt.
Übliche Praxis
Bei Beurteilung verwenden
/** * PHP多态性 */ // 定义学生类 class student{ public function cla(){ echo "学生工正在上课!<br />"; } } // 定义职员类 class office{ public function Wor(){ echo "职员正在上班!<br />"; } } // 判断对象类型方法 function doing($obj){ if($obj instanceof student){ $obj->cla(); }elseif($obj instanceof office){ $obj->wor(); }else{ echo "没有这个对象!"; } } doing(new student()); // 学生正在上课 doing(new office()); // 职员正在上班
Die obige Ergebnisausgabe:
Die Schüler sind im Unterricht
Die Mitarbeiter sind im Unterricht. Gehe zur Arbeit
Diese gewöhnliche Methode hat einen Nachteil: Wenn viele Objekte vorhanden sind, ist if..else.. sehr lang und unflexibel.
Polymorphismuspraktiken
Definieren Sie eine öffentliche abstrakte Methode, und alle Unterklassen erben sie.
/** * PHP多态性 */ // 定义一个公共类 class pub{ protected function working(){ echo "本方法需要在子类中重载!"; } } // 定义学生类,继承公共类pub class student extends pub{ public function working(){ echo "学生工正在上课!<br />"; } } // 定义职员类,继承公共类pub class office extends pub{ public function working(){ echo "职员正在上班!<br />"; } } // 判断对象类型方法 function doing($obj){ if($obj instanceof pub){ $obj->working(); }else{ echo "没有这个对象!"; } } doing(new student()); // 学生正在上课 doing(new office()); // 职员正在上班
Dies ist das Merkmal von Polymorphismus und flexibler Wiederverwendung.
Andere Praktiken
Aus Sicht der Implementierung des Polymorphismus ist es nichts anderes als die Standardisierung, dass jede Klasse die übergeordnete Klasse A überschreiben muss Methode, um eine einheitliche Wirkung zu erzielen. Wenn wir eine Klasse definieren, ist es auch möglich, selbst einheitliche Methoden hinzuzufügen. Daher kann das obige Beispiel auch so implementiert werden:
/** * PHP多态性 */ // 定义学生类 class student{ // 定义统一的方法pub public function pub(){ echo "学生工正在上课!<br />"; } } // 定义职员类 class office{ // 定义统一的方法pub public function pub(){ echo "职员正在上班!<br />"; } } // 判断对象类型方法 function doing($obj){ if($obj){ // 调用类的统一方法 $obj->pub(); }else{ echo '没有这个对象'; } } doing(new student()); // 学生正在上课 doing(new office()); // 职员正在上班
Polymorphismus kann auch als Programmiermethode verstanden werden, und das ultimative Ziel der Programmierung ist nichts anderes als: Flexibilität, Polymorphismus, Wiederverwendung und Effizienz.
Das obige ist der detaillierte Inhalt vonWas ist Polymorphismus? Beispiel-Tutorial zum objektorientierten PHP-Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!