Rolf B: Implementierung eines Interface und Vererbung

Beitrag lesen

Hallo pl,

Wie auch immer, mein Artikel über PHP'Interfaces ist fertig. Der beschreibt das, was in der PHP'Dokumentation vergessen wurde zu erwähnen.

Ich bin unterwältigt!

Merke: Ein PHP-Interface ist nur ein Pragma was einer Klasse vorschreibt, welche Methoden zu definieren sind.

Satz 1 der PHP Doku zu Interfaces:

Object interfaces allow you to create code which specifies which methods a class must implement, without having to define how these methods are implemented.

Das fehlt also schonmal nicht im PHP Handbuch. Weiter schreibst Du:

Das eigentliche Interface ist stets eine Methode oder eine Folge von Methoden, die eine Instanz derjenigen Klasse aufruft in welcher diese Methoden definiert sind.

Gut, dass das nicht im PHP Handbuch steht.

Man kann zwar behaupten, dass zu einer Schnittstelle immer zwei Seiten gehören, Stecker und Buchse, und somit der Aufrufer einer per implements genutzten interface Deklaration ebenfalls ein Interface darstellt.

Aber das verfehlt den Umstand, dass der Sinn einer Interface-Deklaration darin besteht

  • einer Klasse vorzuschreiben, was sie zu implementieren hat
  • einem Nutzer ein Versprechen zu machen, was das Objekt ihm anbietet

Wenn Du Methoden programmierst, die den Aufruf der in einem interface deklarieren Methoden beinhalten, dann sind diese Methoden nicht ihrerseits Interfaces. Sondern Adapter. Oder Dekoratoren.

Rolf

--
sumpsi - posui - clusi