AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[OOP] Auf Objekt des Parents zugreifen

Ein Thema von Zwoetzen · begonnen am 19. Mär 2008 · letzter Beitrag vom 19. Mär 2008
Antwort Antwort
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#1

[OOP] Auf Objekt des Parents zugreifen

  Alt 19. Mär 2008, 11:45
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:
type TPfeil = class
  procedure doAnything;
end;
type TTextur = class
  procedure getSomething;
end;

type TOberesObjekt = class
  Textur: TTextur;
  Pfeil: TPfeil;
end;
In der Prozedur doAnything will ich nun eben auf die Prozedur Textur.getSomething zugreifen.

Die Frage ist nun: Wie mach ich das am besten?


Vielen Dank schonmal im Vorraus

MfG Zwoetzen

EDIT: Titel angepasst
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [OOP] Auf Objekt des Vorfahres zugreifen

  Alt 19. Mär 2008, 11:48
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: [OOP] Auf Objekt des Vorfahres zugreifen

  Alt 19. Mär 2008, 11:49
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;
  Mit Zitat antworten Zitat
Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#4

Re: [OOP] Auf Objekt des Vorfahres zugreifen

  Alt 19. Mär 2008, 11:58
@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.
  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 22:12 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