phpbar.de logo

Mailinglisten-Archive

[php] OOP in PHP 5: Interfaces vs. abstrakte Klasse

[php] OOP in PHP 5: Interfaces vs. abstrakte Klasse

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Sam Okt 13 20:02:59 CEST 2007


Hallo Hannes,

Am Samstag, 13. Oktober 2007 schrieb Hannes H.:
> Guten Abend, Wissende!

willkommen in der PHP-Sekte! :-D

> Ich möchte für eine Gruppe von Klassen vorgeben, dass sie eine
> bestimmte Methode implementieren müssen - wozu es zwei Möglichkeiten
> gibt:
>
> a) Interface
> b) abstrakte Klasse die abgeleitet wird
>
> Ich möchte allerdings nur vorgeben, dass die Klassen diese bestimmte
> Methode besitzt, allerdings möchte ich nicht die Parameter vorgeben.
>
> Gibt es hierfür irgend eine Möglichkeit? Mir fällt leider nichts ein

ich würde mal sagen, daß die Dokumentation einfach unzureichend ist. Mit 
Variante a), die Schnittstellenlösung, solltest Du mindestens 
weitgehend Dein Ziel erreichen. Als Beleg:


"Any class implementing the interface must define each method that is 
declared in the interface, and each method must have at least the 
parameters identified in their interface definitions. It may have more 
parameters as long as they are optional, but it cannot have less."

Zitiert aus: http://www.developer.com/lang/php/article.php/3604111


Außerdem lies Dir mal folgende Seite durch:

http://www.professionelle-softwareentwicklung-mit-php5.de/erste_auflage/oop.foundations.interfaces.html

Da wird die Funktion in der Schnittstelle ohne Parameter definiert, 
später aber mit Parameter verwendet. Das müßte also auch mit mehreren 
Parametern funktionieren. Ich habe es jetzt nicht selbst getestet, gehe 
aber aufgrund des obigen Zitats davon aus. :-)


Viele Grüße,

Lutz

php::bar PHP Wiki   -   Listenarchive