Matti Mäkitalo: Abstracte Methode mit konkretem Type Hinting

Beitrag lesen

Hi,

class cExecuter
abstract public function execute( cParent $objParent )

class cExecuterDetail extends cExecuter
public function execute( cChild $objChild )

Der "Kontrakt" von Klasse cExecuter besagt, dass jedes Objekt dieses Typs (oder eben abgeleitet davon) eine Methode execute besitzt, welche mit einem cParent aufgerufen werden kann. cExecuterDetail verletzt diesen Kontrakt, daher ist es nicht gültig.

Bis die Tage,
Matti