Zitat von
TBx:
Willst Du verhindern, dass diese Klassen in Kindklassen angesprochen werden, obwohl sie nicht entsprechend überschrieben werden, so solltest Du in der Methodenimplementation einfach eine
Exception auslösen.
Genau, das wäre das korrekt anzuwendende Muster in deinem Fall.
Man könnte jetzt allerdings einwenden, daß Delphi das ja bereits für dich erledigt und eine EAbstractError
Exception auslöst, sollte eine nicht überschriebene abstrakte Methode aufgerufen werden. Inwieweit man das jetzt als schlampiges Design oder geschicktes Ausnutzen dieses Delphi-Features betrachtet, bleibt jedem selbst überlassen.
Und der Vorwurf, daß Delphi einem erlaubt unsinnige Dinge zu tun - also bitte, noch nie ein C++-Programm gesehen?