Hallo zusammen,
ich frage mich gerade welchen Vorteil ein Interface gegenüber einer abstrakten Klasse bietet und ob es Regeln oder Hinweise gibt wann ich was benutzen sollte?
Wenn ich also allgemein gültige Methoden verwenden möchte benutze ich natürlich eine abstrakte Klasse um nicht den selben Code für jede Klasse die das Interface implementiert schreiben zu müssen.
Wenn ich nun solche Methoden aber nicht brauche, bedeutet das "automatisch" das ich ein Interface nutzen kann/darf/sollte oder gibt es noch andere Richtlinien?
Ich persönlich sehe den Vorteil einer abstrakten Klasse - auch wenn ich keine allgemein gültigen Methoden zum Zeitpunkt der Erstellung benötige - darin, dass ich eben flexibler bin und eben solche ggf. jederzeit hinzufügen kann.
Von daher schreckt mich ein Interface eigentlich eher ab
Ok, das ich mir diese Möglichkeit offen lassen möchte zeugt wahrscheinlich eher davon, dass ich noch nicht wirklich viel Ahnung von Softwaredesign habe...
Trotzdem Hat zufällig jemand ein Beispiel für mich wo man 100%ig sagen könnte: "Das ist ein Interface, eine abstrakte Klasse wäre hier sinnlos"?
Bei den Beispielen die ich bis jetzt gesehen habe, hab ich mir immer gedacht "Also ich hätte ne abstrakte Klasse dafür genommen"
ich frage mich gerade welchen Vorteil ein Interface gegenüber einer abstrakten Klasse bietet und ob es Regeln oder Hinweise gibt wann ich was benutzen sollte?
Wenn ich also allgemein gültige Methoden verwenden möchte benutze ich natürlich eine abstrakte Klasse um nicht den selben Code für jede Klasse die das Interface implementiert schreiben zu müssen.
Wenn ich nun solche Methoden aber nicht brauche, bedeutet das "automatisch" das ich ein Interface nutzen kann/darf/sollte oder gibt es noch andere Richtlinien?
Ich persönlich sehe den Vorteil einer abstrakten Klasse - auch wenn ich keine allgemein gültigen Methoden zum Zeitpunkt der Erstellung benötige - darin, dass ich eben flexibler bin und eben solche ggf. jederzeit hinzufügen kann.
Von daher schreckt mich ein Interface eigentlich eher ab
Ok, das ich mir diese Möglichkeit offen lassen möchte zeugt wahrscheinlich eher davon, dass ich noch nicht wirklich viel Ahnung von Softwaredesign habe...
Trotzdem Hat zufällig jemand ein Beispiel für mich wo man 100%ig sagen könnte: "Das ist ein Interface, eine abstrakte Klasse wäre hier sinnlos"?
Bei den Beispielen die ich bis jetzt gesehen habe, hab ich mir immer gedacht "Also ich hätte ne abstrakte Klasse dafür genommen"
Kommentar