Forum: Programmieren allgemein
by Jelly,
2. Okt 2008
Das ist bei abstrakten Klassen auch nicht anders. Wenn die Basisklasse bereits eine funktionierende Methode besitzt, dann ist diese ja nicht mehr abstrakt, sondern virtuell und kann in der abgeleiteten Klasse überschrieben werden.
Interfaces haben noch teils ganz anderen Nutzen, denn man kann Instanzen von Klassen, die ein Interface implementieren, direkt über das Interface ansprechen. Wenn...
Forum: Programmieren allgemein
by Jelly,
2. Okt 2008
Und in .NET geht das sogar soweit dass sich das Projekt gar nicht erst kompilieren lässt (also keine Warning sondern ein Error). Das geht sogar soweit, dass sobald eine abstrakte Methode in deiner Klasse definiert ist, du gezwungen wirst die gesamte Klasse als abstract du deklarieren. Und das führt dazu, dass noch nicht mal eine Instanz der Klasse direkt erstellt werden kann.
Nachtrag2: ...
Forum: Programmieren allgemein
by Jelly,
1. Okt 2008
Man kann eine abstrakte fast mit einem Interface vergleichen. Die abstrakte Klasse selbst kannst du nicht erzeugen, du kannst aber innerhalb der abstrakten Definition irgendwelche Methoden aus der abstrakten Klasse aufrufen. Allerdings implementieren MUSST du sie (genau wie bei Interfaces) in der abgeleiteten Klasse. Damit zwingst du auch den Programmierer, sich im Team an gewisse Konventionen zu...