Weitere Artikel aus dem Webentwickler Blog

In diesem Teil der Reihe geht es um Techniken wie die Klassenvererbung und Objektkomposition sowie die Delegation und deren Bedeutung für die objektorientierte Entwicklung. Die Klassenvererbung funktioniert vom Prinzip her sehr einfach: Hier erbt eine Unterklasse die Implementierung und den Typ ihrer Oberklasse.

Dem abgeleiteten Objekt können neue Variablen und Methoden hinzuge­fügt werden, somit ist eine Wiederverwendung realisiert. Diese Technik der Wieder­ver­wen­dung ist auch als White-Box-Wiederverwendung bekannt, da die Struktur des Eltern­objekts eingebunden wird und somit bekannt ist.

Die Objektkomposition hingegen basiert auf der Technik, Objekte bestehender Klassen in eine Struktur einzubeziehen, beispielsweise durch Aggregation. Da hier lediglich die Schnittstelle des Objekts bekannt ist, wird diese Art von Wiederverwendung auch als Black-Box-Wiederverwendung bezeichnet.

Die Klassenvererbung ist Teil der Programmiersprache und einfach zu realisieren. Die geerbten Methoden können beibehalten oder überschrieben werden, die Variablen werden ergänzt, genutzt oder ignoriert. Hier lässt sich schon erahnen, dass die Klassen­vererbung zu unsauberem Programmierstil verleiten kann.

Die Vorteile der Objektkomposition liegen ganz klar in der Flexibilität. Beziehungen zwischen Objekten lassen sich, im Gegensatz zu denen zwischen Klassen, zur Laufzeit dynamisch erzeugen und verwerfen. Darüber hinaus sind die beteiligten Objekte ledig­lich durch die Schnittstelle bekannt und können somit gegen eine ähnliche Schnittstelle ausgetauscht werden, ohne dass auf die unterschiedlichen Implementierungen Rücksicht genommen werden muss – sofern die Spezifikation erfüllt bleibt. Für die Nutzung der Wiederverwendung durch Objektkomposition spricht auch, dass die Klassenvererbung die Klassenhierarchie verkompliziert und es dabei zu weiteren Abhängigkeiten kommt: Jede Ver­änderung der Implementierung oder der Struktur einer Oberklasse wirkt sich auf die abgeleitete Unterklasse aus.

Der Vergleich zwischen Klassenvererbung und Objektkomposition ist eigentlich nicht notwendig, da beide Techniken zur Anwendung kommen müssen. Schließlich muss eine Klassenhierarchie existieren, um überhaupt Objekte zur Objektkomposition ableiten zu können. Da jedoch die Erfahrung lehrt, dass selten der kompliziertere Weg der Objekt­kom­position gewählt wird, sollte jeder Entwickler die Möglichkeiten und Konsequenzen beider Techniken kennen. Das Wissen um den richtigen Einsatz beider Techniken bedarf einer gewissen Erfahrung, die letzten Endes den Experten ausmacht.

Tipp: Das Durcharbeiten der Entwurfsmuster ist vor allem für unerfahrene Entwickler sinn­voll, um für die Feinheiten des objektorientierten Softwareentwurfs »sensibilisiert« zu werden.

Delegation

Ganzen Artikel lesen... 

Kundenkommentare
Social Bookmarks
elo-web bookmarken bei: Mr. Wong elo-web bookmarken bei: Webnews elo-web bookmarken bei: Icio elo-web bookmarken bei: Oneview elo-web bookmarken bei: Yigg elo-web bookmarken bei: Linkarena elo-web bookmarken bei: Digg elo-web bookmarken bei: Reddit elo-web bookmarken bei: Simpy elo-web bookmarken bei: StumbleUpon elo-web bookmarken bei: Netscape elo-web bookmarken bei: Furl elo-web bookmarken bei: Yahoo elo-web bookmarken bei: Blogmarks elo-web bookmarken bei: Diigo elo-web bookmarken bei: Technorati elo-web bookmarken bei: Newsvine elo-web bookmarken bei: Blinkbits elo-web bookmarken bei: Ma.Gnolia elo-web bookmarken bei: Smarking elo-web bookmarken bei: Netvouz elo-web bookmarken bei: Folkd elo-web bookmarken bei: Spurl elo-web bookmarken bei: Google elo-web bookmarken bei: Blinklist
URL zu dieser Seite
Einfach den Quelltext kopieren und auf Ihrer Webseite einbinden

Kontakt
Newsletter | Kontakt | RSS Feed
Warenkorb: 0 Artikel
Gesamtwert: EUR 0,00
Home PHP/MySQL & JavaScript  Entwurfsmuster in PHP - Teil II