Matti Mäkitalo: Abstrakte methoden praxistest

Beitrag lesen

Hi,

Es ist eine gute Angewohnheit, diejenigen Methoden, bei denen ein Overload beabsichtigt ist, grundsätzlich in der Basisklasse zu definieren und wenn es nur ein Dummy ist:

da sieht man die Fehler aber erst zur runtime. Wenn eine Basisklasse definiert, dass Kindklassen eine Methode besitzen müssen, dann ist es sinnvoll, diese als abstrakt zu definieren. Dann bekommt man fehlerhafte Kind-Implementierungen sofort zur compile-time.

In der Basis-Klasse eine Dummy-Methode zu implementieren sorgt nur dafür, dass Fehler nicht oder nur schwer erkannt werden können. Z.B. wäre es nötig, einen Unittest zu schreiben, der testet, ob du die Methode implementiert hast, während das mit einer abstrakten Basisklassenmethode unnötig ist (der Fehler kommt schon, bevor Tests ausgeführt werden können und ist damit inhärent vorhanden).

Bis die Tage,
Matti