Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#26

Re: Kreuzende Beziehung zw. zwei Objekten

  Alt 26. Apr 2009, 23:19
Zitat von SebE:
ok, wir reden hier sicher von verschiedenen Schuhen.

Erklär mir das bitte näher: in wiefern benötigt ein Compiler die Größe einer abstrakten Klasse?
Und für die "richtige" (abgeleitete) Klasse kennt er doch die abstrakte Klasse.
Zwei Beispiele in einem:
Delphi-Quellcode:
type
  TAbstract = class abstract
    // Größe = GrößeVon(Felder neu in TAbstract) + GrößeVon(Vorfahre(TAbstract))
    // = GrößeVon(Felder neu in TAbstract) + GrößeVon(TObject)
  end;

  TConcrete = class(TAbstract)
    // Größe = GrößeVon(Felder neu in TConcrete) + GrößeVon(Vorfahre(TConcrete))
    // = GrößeVon(Felder neu in TConcrete) + GrößeVon(TAbstract)
  end;
Und jetzt für zwei abstrakte Klassen, die sich gegenseitig verwenden: (Schenk' ich mir...)

Abstrakte Klasse können nicht instantiiert werden. Der Klassenzusatz "abstract" hat nur disziplinarische Wirkung, vergleichbar mit Sichtbarkeitsbeschränkungen. Insofern unterscheiden sich abstrakte Klassen nicht von "gewöhnlichen" Klassen. Die Größe ist für alle gleichsam bedeutsam.
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat