title image


Smiley Re: Abstrakte Klassen und Interfaces
Durch die Erfüllung eines Interfaces gewährleiste ich, dass eine Methode implementiert ist (im schlechtesten Fall leer), aber nicht WIE sie implementiert ist.



Beispiel: an einer Map interessiert mich lediglich, dass ich mit put etwas dort mit einem Schlüssel ablegen kann. Ob das eine HashMap ist oder was anderes braucht mich nicht zu interessieren.



Wenn ich einen SAX Parser verwende benutze ich lediglich Interfaces. Nur durch bereitstellen einer konkreten Implementierung (zur Laufzeit!), die ich jederzeit durch eine andere Implementierung austauschen kann (Xerces, Crimson, ...) lege ich fest wie das Ding eigentlich arbeitet. Wie das genau funktioniert ist mir aber total egal. Und wie das implementiert wurde gleich drei mal.



Bei einer engen Bindung (z.B. über eine abstrakte Klasse) müsste ich beim Wechsel der Implemenierung (selbst wenn diese Klasse die gleiche Signatur besitzt wie die Vorgängerklasse) meinen ganzen Schmarrn noch mal kompilieren.
VG, Bernd


Smart-Questions: smart-questions_de

SSCCE: Short, Self Contained, Correct (Compilable), Example

Posting... And You: http://de.youtube.com/watch?v=Uw5-GOG8SXo




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: