Einzelnen Beitrag anzeigen

Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#29

Re: Verhindern von Instanzierung eines Objekts mit Create

  Alt 30. Mai 2008, 10:03
Zitat von FAlter:
Würde gehen, aber: Nur, so lange man nicht ableiten will. Ich wüsste nicht, dass man Records vererben kann.

Für diesen Thread hier (Klasse nur mit statischen Methoden) ist es also ok. Will man dagegen verhindern, dass eine Instanz einer abstrakten Basisklasse erstellt wird, so ist dies keine Lösung.
Nun, da die zur Verfügung stehenden Sprachmittel für Klassen den Standardkonstruktor nicht verbergen können, wäre es vielleicht angebracht über ein anderes Design nachzudenken. Da alle Methoden statisch sind, kann ich nicht ganz nachvollziehen, warum es unbedingt eine Klasse sein muss - eine 'flache' Schnittstelle mittels Funktionen/Prozeduren hätte es auch getan. Wenn es denn unbedingt eine Klasse sein muss, dann erfüllt die angestrebte Logik das Muster eines Singletons - man könnte also ein Interface veröffentlichen und eine Funktion schreiben, die ein/das globales Objekt zurückgibt.

Für beide Lösungsansätze kann man jede Delphi-Version für Win32 verwenden, und muss sich nicht auf Delphi-Compiler beschränken, die 'class static' unterstützen.

Kurz: Ich halte die Fragestellung in diesem konkreten Fall für hinfällig, weil das Design an Compiler-Featuritis leidet.
  Mit Zitat antworten Zitat