![]() |
[OOP] Auf Objekt des Parents zugreifen
Hi DP'ler
Ich stehe momentan vor einem Problem, wo ich nicht weiß, wie ich es am besten lösen könnte. Folgende Situation: Ich habe eine Klasse. Diese Klasse enthält unter anderem zwei Objekte anderer Klassen, nennen wir diese Pfeil und Textur. Mein Problem ist nun, dass ich innerhalb vom Pfeil nun auf die Textur zugreifen will. Also ungefähr so:
Delphi-Quellcode:
In der Prozedur doAnything will ich nun eben auf die Prozedur Textur.getSomething zugreifen.
type TPfeil = class
procedure doAnything; end; type TTextur = class procedure getSomething; end; type TOberesObjekt = class Textur: TTextur; Pfeil: TPfeil; end; Die Frage ist nun: Wie mach ich das am besten? Vielen Dank schonmal im Vorraus MfG Zwoetzen EDIT: Titel angepasst |
Re: [OOP] Auf Objekt des Vorfahres zugreifen
Gar nicht. So geht das nicht. Vor allem ist TOberesObjekt kein Vorfahr von irgendetwas. Du musst deine Klassen anders strukturieren, z.B. die Textur in den Pfeil verlegen oder im Konstruktor von Pfeil die Textur übergeben und sie in TPfeil speichern.
|
Re: [OOP] Auf Objekt des Vorfahres zugreifen
Gib dem Pfeil einen Parent mit:
Delphi-Quellcode:
type TPfeil = class
private FParent: TOberesObjekt; public constructor Create(Parent: TOberesObjekt); procedure doAnything; end; type TTextur = class procedure getSomething; end; type TOberesObjekt = class public constructor Create; Textur: TTextur; Pfeil: TPfeil; end; implementation constructor TOberesObjekt.Create; begin Pfeil := TPfeil.Create(Self); Textur := TTextur.Create; end; procedure TPfeil.doAnything; begin FParent.Textur.getSomething; end; |
Re: [OOP] Auf Objekt des Vorfahres zugreifen
@3of8:
ach verdammt, stimmt, Vorfahr war ja bei abgeleiteten Klassen. *wie immer alles durcheinander bringt* *hofft das Parent besser passt* @Muhkuh: Danke für den Ansatz, ich werde ihn mal versuchen umzusetzen, schaut aber schonmal vielversprechend aus. :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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