![]() |
AW: Klasse inkl. aller Unterklassen als Parameter übergeben
Die Kinder sollen die Eltern kennen
und die eltern die Kinder = Kreisverkehr Wobei, wenn man den Kindern einen eigenen vorfahren gönnt, da sie ja scheinbar eh nicht wirklich von ihren Eltern ihrem Verwalter abstemmen, dann braucht man sowas wirklich nicht. (Es sei denn sie müssen ihren Verwalter wirlich mit genauem Typ kennen) |
AW: Klasse inkl. aller Unterklassen als Parameter übergeben
die Eigenschaften der Unterklassen sind nicht gleich, sondern unterschiedlich.
Beispiel:
Delphi-Quellcode:
Ich habe leider noch eine kurze Frage:
TUnterklasse1:
Vorname: string; Nachname: string; TUnterklasse2: Datum: TDateTime; Ort: string; Wenn ich jetzt eine Instanz der THauptklasse erzeuge und diese Instanz als Parameter an eine Prozedur übergebe, wo muss ich diese dann wieder freigeben (in der Prozedur, in der die Instanz erzeugt wurde oder in der Prozedur, an die die Instanz übergeben wurde)? |
AW: Klasse inkl. aller Unterklassen als Parameter übergeben
Zitat:
Aber schöner und sinnvoller ist es immer, eine Instanz dort wieder freizugeben, wo sie auch erzeugt wurde. |
AW: Klasse inkl. aller Unterklassen als Parameter übergeben
Dann lohnt sich Vererbung der Klassen erstmal nicht, da sie ja nichts gemeinsam haben, was sie erben könnten.
Delphi-Quellcode:
Oder eben so, da sie ja mit der Elternklasse absolut nichts gemeinsam haben.
type
TKindklasse1 = class ... end; TKindklasse2 = class ... end; TElternklasse = class private FKind1: TKindklasse1; FKind2: TKindklasse2; public property Kind1: TKindklasse1 read FKind1; property Kind2: TKindklasse2 read FKind2; end; Aber da die Kindklassen auch nicht wirklich was gemeinsames haben, dann doch eher Ersteres.
Delphi-Quellcode:
PS: Das würde eine Endlosschleife, wenn man da im Constructor der Elternklasse die Kindklassen erzeugt und dabei die Kindklassen von der Elternklasse erben,
type
TKindklasse = class end; TKindklasse1 = class(TKindklasse) ... end; TKindklasse2 = class(TKindklasse) ... end; TElternklasse = class private FKind1: TKindklasse1; FKind2: TKindklasse2; public property Kind1: TKindklasse1 read FKind1; property Kind2: TKindklasse2 read FKind2; end; denn dann hätten die Kinder wiederum eigene Kinder, welche ebenfalls Kinder hätten, die Kinder hätten usw. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz