Announcement

Collapse
No announcement yet.

Unterscheidung im Konstruktor

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unterscheidung im Konstruktor

    Hallo zusammen!
    Ich habe eine Basisklasse TMutter und zwei davon abgeleitete Klassen TTochter1 und TTochter2. Bisher erzeuge ich die Klassen wie folgt:

    if Bedingung then
    TTochter1.Create
    else
    TTochter2.Create;

    Nun meine Frage: Kann man diese von Bedingungen abhängige Erzeugung der Klassen auch im Konstruktor der Basisklasse ablaufen lassen? Und wie würde das funktionieren?
    Danke Wolfgang
    In God we trust - all others pay cash!

  • #2
    Deine Lösung geht nicht.
    Du kannst aber über Klassenreferenztypen gehen:<br>

    type
    TMutterClass = class of TMutter;

    function CreateClass(MutterClass: TMutterClass): TMutter
    begin
    result := MutterClass.Create;
    end;
    &#10

    Comment

    Working...
    X