010
16.06.2004, 20:23 Uhr
0xdeadbeef
Gott (Operator)
|
Um dich, wenn du die Routinen, die den Datentyp benutzen sollen, noch nicht festlegen zu müssen, welche spezielle Implementierung du nachher benutzt. Im Beispiel oben (das zugegeben ein sehr einfaches Beispiel ist). legst du dich in der Funktion "useParser" noch nicht fest, welchen Parser du benutzen willst, sondern bestimmst das erst zur Laufzeit dadurch, dass du eine Instanz einer von IntParser abgeleiteten Klasse übergibst.
Natürlich könntest du auch einfach eine leere Funktion anhängen, aber mit =0; ist es sauberer, weil eine abstrakte Klasse nicht instanziiert werden kann und du in deinen benutzenden Funktionen sicher sein kannst, dass die Methode, die du aufrufst, auch was sinnvolles macht. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |