hotti: Abstrakte methoden praxistest

Beitrag lesen

Mahlzeit;

Würde gerne eure Meinung hören

Gerne ;)

Vererbung ist eine feine Sache und das Überschreiben(Overload) von Methoden ist sozusagen Alltag. Es ist eine gute Angewohnheit, diejenigen Methoden, bei denen ein Overload beabsichtigt ist, grundsätzlich in der Basisklasse zu definieren und wenn es nur ein Dummy ist:

  
class Manager{  
	// Dummies  
	public function browse(){$this->STASH = array();}  
	public function control(){}  
	public function body(){ return '<pre>BODY DUMMY</pre>';}  
}  

Das ist bei der Fehlersuche und in der Entwicklungsphase sehr hilfreich, es ist dann genau zu sehen, ob die Subklasse erstellt werden konnte und grundsätzlich funktioniert; beispielsweise wird die body()-Methode stets aufgerufen, es ist zu sehen dass sie tut und erst dann wird das Overload geschrieben.

Des Weiteren (so meine Praxis) sind Vererbungen über 'mehrere Ebenen' nicht immer sinnvoll, i.d.R. reicht es, eine Subklasse abzuleiten. An

Baseclass::Sub::SubSub::SubSubsub

verlierst Du schnell die Freude und auch die Übersicht ;)

Es ist auch so, dass ich eine Klasse sehr genau kennen muss, wenn ich von dieser Klasse erben möchte, was natürlich der Fall ist, wenn ich den PAPA selbst geschrieben habe. Andernfalls nutze ich die Möglichkeit der Delegation ausgewählter Methoden fremder Klassen und habe damit sehr gute Erfahrungen gemacht.

Schönen Sonntag!