AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Gleiche Objekte in Zusammenarbeit? OOP-4-dummies
Thema durchsuchen
Ansicht
Themen-Optionen

Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

Ein Thema von everdream · begonnen am 15. Nov 2007 · letzter Beitrag vom 15. Nov 2007
Antwort Antwort
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#1

Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 21:54
Hallo, ich hab ne Frage zur OOP,...

Ich möchte mehrere Objekte einer Klasse erzeugen und diese dann in meinem Hauptprogramm handeln. Ich frage mich, ob ein Objekt auf's andere zugreifen kann, obwohl sie ja theoretisch nichts voneinander wissen.

Ist sowas nur mit dem Zwischenschritt über die darüberliegende Ebene, also das Hauptprogramm, zu lösen oder gibt es auch einen eleganteren weg?

habe das ganze nochmal aufgemalt, zur besseren Verständlichkeit. Ich drücke mich gelegentlich leider unzureichend aus


Vielen Dank schonmal!
Miniaturansicht angehängter Grafiken
meinefrage_658.gif  
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 21:57
Du könntest der Klasse ja einen 'Content' spendieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:03
Öhm, najaaa,... Warum nicht? Wo erfahre ich, was das is und wie es das macht, was ich will?
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:06
Andere Sprachen, wie z.B. Java haben einen classcontent. D.H die Klasse kennt alle ihre Instanzen. Das könntest du nachbauen. Im Konstruktor müsstest du die Instanz dann in eine Liste o-ä- Schreiben, dann könntest du zur Laufzeit von jedem Objekt auf die anderen Objekte gleichen Typs zugreifen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:10
Hm, also ne Art Liste mit Verweisen? Klingt irgendwie nach patchwork, find ich...

Für sowas muss es doch ne Lösung geben, die in Delphi so mehr oder weniger schon vorgesehen ist. Wie würdet ihr das denn machen, wenn ihr halt irgendwas schreiben wolltet, wo die Instanzen in irgendeiner Form auswirkungen aufeinander haben? Simulationen oder so.
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:17
Hallo everdream!

ich würde versuchen, die Abhängigkeiten zwischen Objekten so gering wie möglich halten,
um bei nachträglichen Änderungen nicht Huddel zu bekommen.

Was ich in meinem Programm mache, ist eine Schnittstelle zu übergeben
(dessen Instanz natürlich auch ein Objekt darstellt). Aber so kannst du
die Methode der Schnittstelle aufrufen und klammerst dich nicht direkt an
eine Methode des Objektes.

Hoffe, ich habe Dein Anliegen richtig verstanden...

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:21
Zitat von Pfoto:
...ist eine Schnittstelle zu übergeben (dessen Instanz natürlich auch ein Objekt darstellt).
Das versteh ich noch nicht ganz. Soll ich da ein weiteres Objekt schaffen?
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:46
Zitat von everdream:
Zitat von Pfoto:
...ist eine Schnittstelle zu übergeben (dessen Instanz natürlich auch ein Objekt darstellt).
Das versteh ich noch nicht ganz. Soll ich da ein weiteres Objekt schaffen?
Ja, ein gemeinsames Objekt, von dem du Objekt A ableitest
und das Objekt B z.B. als Parameterangabe aufnehmen kann.

Ein gutes Beispiel ist das sog. Command-Pattern.

Mal ganz grob:

Delphi-Quellcode:
TCommand = class
public
  procedure execute;
end;

TKonretesKommando = class(TCommand)

Wenn nun ein anderes Objekt, z.B. ein Thread
ein Objekt der Klasse TCommand übergeben bekommt,
kann dieser Thread das Kommando ausführen,
ohne konret etwas von diesem wissen zu müssen.

Du kannst also damit sehr flexibel auch andere
Objekte übergeben oder die Funktionalität des
Kommandos ändern -- und dem Thread-Objekt in diesem
Beispiel, ist das völlig schnuppe.


Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Gleiche Objekte in Zusammenarbeit? OOP-4-dummies

  Alt 15. Nov 2007, 22:52
Wie genial... da werde ich mir jetzt erstmal einige Gedanken drum machen und dann irgendwann auch mal schlafen gehen xD

Vielen Dank erstmal für die Tipps!
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Antwort Antwort


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:25 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