Ich versuche mein Wissen über OOP in PHP zu verbessern und habe abstrakte Klassen und Interfaces erforscht.Real World Beispiele für erweiterte OOP-Funktionen für PHP
Was ich gelernt habe
- Sie beide Klassen sind, die selbst nicht instanziiert werden kann, sondern olny erweitert (umgesetzt im Falle von Schnittstellen) werden kann
- Abstrakte Klassen bieten Methoden und Eigenschaften für die anderen Klassen die erweitern sie.
- Wenn eine Klasse eine abstrakte Methode verwendet, muss die Klasse selbst ebenfalls abstrakt sein.
- Wenn eine abstrakte Methode in einer abstrakten Klasse definiert ist, müssen alle untergeordneten Klassen die Details dieser Methode definieren. Methoden, die nicht als abstrakt definiert sind, können wie normale Methoden verwendet werden.
- Schnittstellen definieren, welche Methoden eine Klasse, die sie implementiert, haben muss. Die Funktionalität der Methoden ist nicht in der Schnittstelle definiert, die Schnittstelle bietet lediglich eine Liste von Methoden, die in der Kindklasse enthalten sein müssen.
- Eine Schnittstelle definiert keine Eigenschaften.
- Klassen können so viele Schnittstellen implementieren, wie sie wollen, aber sie müssen ein Verfahren für jede der Schnittstellen definieren sie
implementieren denke ich, dass die Grundlagen abdeckt. Bitte zögern Sie nicht, wenn Sie denken, dass es etwas gibt, was ich verpasst habe.
Was ich gerne wissen würde, ist, wenn es reale Beispiele für die Implementierung dieser Klassen gibt, insbesondere die Interface-Klasse. Kennt jemand Open-Source-Anwendungen, die sie verwenden, die ich durchsuchen kann, um sie besser zu verstehen und zu sehen, wo und wann sie effektiv verwendet werden? Ich bin auf Buchbeispiele gestoßen, die Tiere benutzen, die die Wichtigkeit dieser Klassen nicht demonstrieren.
Auch ZF2 in Arbeit Wiki: http://framework.zend.com/wiki/display/ZFDEV2 – joksnet
@Gordon: schauen Sie sich zum Beispiel an: http://www.php.net/manual/en /class.splheap.php – vartec
@Gordon, bearbeitet die Antwort – vartec