Objekt in Objekt
lima-city → Forum → Programmiersprachen → Java
architektur
art
bellen
code
datei
erzeugen
funktioniert code
halter
hauptprogramm
hund
hundehalter
instanz
klasse hundehalter
methode
nutzen
objekt
riese
system
url
zeile
-
Wie schaffe ich es, dass ein objekt ein neues Objekt erstellt, welches ein weitere Aufgabe auslöst.
Beispiel:
hund.bellen().gassigehen()
Dabei ist der Hund eine eigene klasse mit der method "bellen" darauf hin soll das Objekt Hund den Text "wuff" ausgeben und das neue Objekt "Hundehalter" erzeugen, wobei die method "gassigehen" in der klasse "Hundehalter" steht.
MFG Digitales -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
War das so gemeint?class Hund { public Hundehalter bellen() { System.out.println("wuff"); return new Hundehalter(); } } class Hundehalter { public void gassigehen() { System.out.println("..."); } }
Beitrag zuletzt geändert: 24.4.2012 9:36:09 von hackyourlife -
Ich bin kein Javacrack, aber du müsstest in der Methode bellen() als return die Instanz vom Hundhalter geben. Also sowas in der art:
public Hundehalter bellen() { Hundehalter halter = new Hundehalter(); System.out.println("Wuff"); return halter; }
Dann solltest du die Methode des Hundehalters nutzen können. Ich weiß aber nicht sicher, ob Java sowas überhaupt unterstützt. Andernfalls musst du es in 2 Zeilen lösen:
Hundehalter halter = Hund.bellen(); halter.gassigehen();
Würde vllt auch die Wartbarkeit des Codes erhöhen
Liebe Grüße -
Vielen Dank hackyourlife es hat einwandfrei funktioniert!!
Ja ggamee das ist im prinzip das gleiche, nur wollte ich das ganze gerne in eine Zeile schreiben und nicht untereinander.
DAS HAT MICH ECHT EIN RIESEN STÜCK WEITER GEBRACHT!
MFG Digitales -
ggamee schrieb:
Genau das hab ich schon vorher gepostet...
Ich bin kein Javacrack, aber du müsstest in der Methode bellen() als return die Instanz vom Hundhalter geben. Also sowas in der art:
public Hundehalter bellen() { Hundehalter halter = new Hundehalter(); System.out.println("Wuff"); return halter; }
Dann solltest du die Methode des Hundehalters nutzen können. Ich weiß aber nicht sicher, ob Java sowas überhaupt unterstützt. Andernfalls musst du es in 2 Zeilen lösen:
Hundehalter halter = Hund.bellen(); halter.gassigehen();
Würde vllt auch die Wartbarkeit des Codes erhöhen
Liebe Grüße
Also Code der funktioniert:
Wenn du den Code so 1:1 in eine .java-Datei kopierst (Hauptprogramm.java) und übersetzt wird es funktionieren...class Hund { public Hundehalter bellen() { System.out.println("wuff"); return new Hundehalter(); } } class Hundehalter { public void gassigehen() { System.out.println("..."); } } public class Hauptprogramm { public static void main(String[] args) { Hund hund = new Hund(); hund.bellen().gassigehen(); } }
-
Für alle die es interessiert, zB danach googeln wollen:
Diese Architektur, die in diesem Thread "Objekt in Objekt" genannt ist, wird "Dereferenzierung" genannt und ist genau das, was hackyourlife und ggamee gemacht haben und zwar, ein Objekt statt eines einfachen Datentypes zurück zu geben. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage