AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Klassen vererben in anderer Unit

Ein Thema von JustARandomUser · begonnen am 16. Sep 2019 · letzter Beitrag vom 17. Sep 2019
Antwort Antwort
JustARandomUser

Registriert seit: 16. Sep 2019
2 Beiträge
 
#1

Klassen vererben in anderer Unit

  Alt 16. Sep 2019, 17:15
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
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
668 Beiträge
 
Delphi 12 Athens
 
#2

AW: Klassen vererben in anderer Unit

  Alt 16. Sep 2019, 17:21
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?
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Klassen vererben in anderer Unit

  Alt 16. Sep 2019, 17:26
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.
  Mit Zitat antworten Zitat
JustARandomUser

Registriert seit: 16. Sep 2019
2 Beiträge
 
#4

AW: Klassen vererben in anderer Unit

  Alt 16. Sep 2019, 18:27
Ok vielen Dank für die schnellen Antworten. War ein sehr dummer Fehler!

Hab es tatsächlich falsch herum gemacht und die OberKlasse auf Unterklasse zugreifen und nicht die Unterklasse auf die Oberklasse zugreifen lassen.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.015 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Klassen vererben in anderer Unit

  Alt 16. Sep 2019, 21:08
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).
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.378 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Klassen vererben in anderer Unit

  Alt 17. Sep 2019, 12:03
Eine Lösung haste ja schon. Was ich mir nicht verkneifen kann:
..., allerdings ist so der Text viel zu unübersichtlich (meiner Meinung nach). Bin daher zum naheliegenden Schluss gekommen ...
Gratuliere! Du bist auf dem Weg zu einem guten Softwareentwickler. (Nur zur Sicherheit: keine Ironie)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: Klassen vererben in anderer Unit

  Alt 17. Sep 2019, 12:42
Eine Lösung haste ja schon. Was ich mir nicht verkneifen kann:
..., allerdings ist so der Text viel zu unübersichtlich (meiner Meinung nach). Bin daher zum naheliegenden Schluss gekommen ...
Gratuliere! Du bist auf dem Weg zu einem guten Softwareentwickler. (Nur zur Sicherheit: keine Ironie)
Speziell bei Delphi ist dieses Aufteilen (1 Klasse = 1 Datei) nicht immer sinnvoll, denn jede Datei ist eine Unit ist ein Namespace.
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).
In anderen Sprachen ist das (mit den Namespaces) anders gelöst und dort gehört es eher zum guten Ton pro Klasse eine (oder sogar mehrere) Datei(en) zu erstellen.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.378 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Klassen vererben in anderer Unit

  Alt 17. Sep 2019, 13:11
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 )
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz