Vielfälltiger Klassenzugriff – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Vielfälltiger Klassenzugriff Thu, 03 Jun 10 16:27:07 Z https://forum.selfhtml.org/self/2010/jun/3/vielfaelltiger-klassenzugriff/1451381#m1451381 https://forum.selfhtml.org/self/2010/jun/3/vielfaelltiger-klassenzugriff/1451381#m1451381 <p>Hey Leute,<br> ich beschäftige mich schon längere Zeit mit Java und habe hier mal eine allgemeine frage zu den Klassenverhältnissen und zugriffen.<br> Ich möchte folgendes Programmieren:<br> <img src="http://img88.imageshack.us/img88/9324/ddl.png" alt="" loading="lazy"></p> <p>Ich hoffe die Grafik erklärt grobes falls nicht versuche ich es hier noch zu erläutern.<br> Ich habe 3 Klassen, die jeweils ein Objekt erzeugen. Okjekt 1 erzeugt sowohl Objekt 2 als auch 3.<br> Programmiert habe ich das mit : Objekt2 obj2 = new Objekt2();<br> ...<br> Objekt3 obj3 = new Objekt3();<br> nun soll das Objekt 3 aber Funktionen von Objekt 1 ausführen können, die das von Objekt 1 erzeugte Objekt 2 bearbeiten. Wichtig ist, das Objekt 2 vor Objekt 3 erzeugt wurde.<br> Ich habe aber keine Ahnung wie ich das hinbekomme. wenn ich in Objekt 3 nun Objekt1 obj1 = new Objekt1(); mache, ist dies ja ein komplett neues Objekt und die schon verarbeiteten daten von dem alten Objekt 1 und 2 werden nicht bearbeitet.<br> Könnt ihr mir helfen ? wie kann ich das denn machen / programmieren?<br> ich hoffe ich habe mein Problem deutlich genug erklärt :/<br> MfG Hadaka</p> Vielfälltiger Klassenzugriff Fri, 04 Jun 10 05:32:39 Z https://forum.selfhtml.org/self/2010/jun/3/vielfaelltiger-klassenzugriff/1451382#m1451382 https://forum.selfhtml.org/self/2010/jun/3/vielfaelltiger-klassenzugriff/1451382#m1451382 <p>Guten Morgen!</p> <blockquote> <p>[...]<br> Ich habe aber keine Ahnung wie ich das hinbekomme. wenn ich in Objekt 3 nun Objekt1 obj1 = new Objekt1(); mache, ist dies ja ein komplett neues Objekt und die schon verarbeiteten daten von dem alten Objekt 1 und 2 werden nicht bearbeitet.</p> </blockquote> <p>Du musst der Instanz obj3 eine Referenz auf obj1 mitgeben. Also bei der Instanzierung von obj1 innerhalb von obj3:</p> <p>Objekt1 obj1 = new Objekt1();<br> obj1.setObj3(this);</p> <p>Jetzt muss sich obj1 diese Referenz merken (z.B. in einer Membervariablen), und dann kann es bei Gelegenheit Methoden auf obj3 aufrufen. Interessant wäre noch, ob Dein Vorhaben aus softwarearchitektonischer Sicht Sinn macht, oder ob es eine bessere Variante gibt. Aber das finden wir nur heraus, wenn aus Objekt[1|2|3] sprechende Klassennamen werden und man den fachlichen Zusammenhang kennt.<br> Du musst für diese Referenzübergabe natürlich keine set-Methode codieren, sondern kannst die Referenz auch im Konstruktor mitgeben:</p> <p>Objekt obj1 = new Objekt1(this);</p> <p>Auch hier muss Objekt1 natürlich den entsprechenden Konstruktor anbieten und sich die Referenz merken.</p> <p>Schöne Grüße,</p> <p>Peter</p>