Im Endeffekt geht es wohl bei Jedem nur darum sicherzustellen, dass die Unterklassen alle bislang abstrakten Methoden vernünftig implementieren wenn sie denn instanziiert werden wollen.
Das geht in Delphi ja anscheinend um keinen Preis.
Deshalb war meine Idee, den Konstruktor (und andere abstrakte Methoden) immer
strict protected
zu haben, die implementierende Unterklasse hebt es dann bei Bedarf auf
public
an.
Das bewahrt den Entwickler natürlich immer noch nicht vor dem Fehler, z.B. nur den Konstruktor zu implementieren und auf
public
anzuheben, eine bislang abstrakte Methode allerdings nicht.