![]() |
Klassen vererben in anderer Unit
Moin,
Habe erst vor 3- 5 Wochen neu mit Delphi (Lazarus) in der Schule angefangen und möchte nun eine Klasse vererben. Wenn ich das innerhalb der "Haupt"- Klasse mache ist das auch gar kein Problem, allerdings ist so der Text viel zu unübersichtlich (meiner Meinung nach). Bin daher zum naheliegenden Schluss gekommen für eine neue Klasse auch eine neue Unit zu erstellen. Allerdings sagt er mir in der neu erstellten Unit nun bei type T*VererbteKlasse = class(T*Hauptklasse) und gibt folgenden Fehlercode aus Error: Identifier not found "T*Hauptklasse". Habe im Internet nichts dazu gefunden, ist es also möglich klassen in einer anderen Unit zu vererben? Falls ja, was mache ich falsch? Lg JustARandomUser |
AW: Klassen vererben in anderer Unit
Natürlich ist das möglich und oft auch sinnvoll, wie du ja schon selbst festgestellt hast.
Steht die unit mit deiner T*Hauptklasse im Uses der Unit deiner T*VererbteKlasse? |
AW: Klassen vererben in anderer Unit
Delphi-Quellcode:
unit Models.Haupt;
interface type THauptKlasse = class end; implementation end.
Delphi-Quellcode:
unit Models.Unter;
interface uses Models.Haupt; type TUnterKlasse = class(THauptKlasse) end; implementation end. |
AW: Klassen vererben in anderer Unit
Ok vielen Dank für die schnellen Antworten. War ein sehr dummer Fehler! :thumb:
Hab es tatsächlich falsch herum gemacht und die OberKlasse auf Unterklasse zugreifen und nicht die Unterklasse auf die Oberklasse zugreifen lassen.:roll: |
AW: Klassen vererben in anderer Unit
VIelleicht noch wichtig zu beachten: Beim Erben einer Hauptklasse in einer anderen Unit können nur protected- und public-Methoden benutzt und überschrieben werden, während in derselben Unit auch private-Methoden gehen (außer Methoden, deren Sichtbarkeit zusätzlich strict ist).
|
AW: Klassen vererben in anderer Unit
Eine Lösung haste ja schon. Was ich mir nicht verkneifen kann:
Zitat:
|
AW: Klassen vererben in anderer Unit
Zitat:
Zitat:
|
AW: Klassen vererben in anderer Unit
Ja schon. Mir ging es hier darum, dass er selber gemerkt hat dass es "unübersichtlich" wurde. Das finde ich für einen Anfänger schon bemerkenswert gut. (Manche merken es auch nach 25 Jahren nicht :evil:)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 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