Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Klasse inkl. aller Unterklassen als Parameter übergeben

  Alt 10. Apr 2012, 08:35
Ich denke hier ist einfach ein Cast angebracht:
Delphi-Quellcode:
TTest.eins(Hauptklasse: THaupsklasse)
var
  test: string;
begin
  //Hier wäre es gut wenn nicht nur die THauptklasse übergeben werden würde, sondern auch die Untergeordneten Klassen und man so über das o. g. Prinzip auf dessen Eigenschaften zugreifen könnte. Beispiel:
  if Hauptklasse is TUnterklasseEins then
    test := TUnterklasseEins(Hauptklasse).Eigenschaft1
  else if Hauptklasse is TUnterklasseZwei then
    test := TUnterklasseZwei(Hauptklasse).Eigenschaft1;
end;
Wie schon gesagt, wenn es sich im Prinzip um die selben Eigenschaften handelt, könnte man diese auch abstract in der Basisklasse deklarieren. Eine anderer Weg ist die gleichartigen Eigenschaften und Methoden zu einem Interface zusammen zu fassen und bei Bedarf abzufragen.
  Mit Zitat antworten Zitat