info()-Methode mit Objektrückgabe: Konsolenausgabe möglich?

passi

Mitglied
Hi,

ich habe eine info()-Methode, die das Objekt zurückgibt, mit der die Methode aufgerufen wurde. Diese Methode soll Informationen über das Objekt liefern
Java:
return this;
. Das klappt auch soweit wenn ich in der main-Methode folgenden Aufruf mache:

Java:
System.out.println(e1.ausgeben());

Dann bekomme ich Informationen über das Objekt wie ich es definiert habe. Eine toString-Methode habe ich auch, die das Objekt als String repräsentiert. Wie kann den System.out.println();-Aufruf in der main-Methode vermeiden. Mir wär es lieber, wenn ich

Java:
e1.ausgeben();
aufrufe und ich trotzdem meine Konsolenausgabe bekomme? Ich habe versucht System.out.println in die toString-Methode mit einzubinden, aber das klappt überhaupt nicht

Gruß

passi
 
Du schreibst die Sysout anweisung einfach in die ausgeben() Methode rein.
da würdest du dann sowas stehen haben wie:
Java:
public void ausgeben() {
  System.out.println(this);
}
 
hmmm .... so sollte es gehen

Java:
public void ausgeben(){

System.out.println(this.toString());
}

... lach gleicher Gedanke aber stimmt der explizite toString() aufruf ist überflüssig
 
Das Problem ist, dass die Methode info() ein Objekt meines Referenztyps EdelsteinBox zurückgibt.

Java:
public class EdelsteinBox {
...
public EdelsteinBox ausgeben() {
		return this;
	}
}

Dann kann ich nicht
Java:
return System.out.println(this);

schreiben.
 
Das Problem ist, dass die Methode info() ein Objekt meines Referenztyps EdelsteinBox zurückgibt.
Wo ist da eine Methode info()? Ich seh da nur eine Methode ausgeben().
Warum soll die Methode ausgeben() denn ein Objekt EdelsteinBox zurückgeben wenn da schon die Ausgabe gemacht werden soll?
 
@ langhaar!: Danke, ja klar so funktioniert es.

@EikeB: Oh sry, die ausgeben()-Methode ist die info()-Methode. Das ich so Schwierigkeiten mit dem Programm habe, liegt meiner Meinung auch daran, dass nicht nachvollziehen kann, warum ich ein Objekt zurückgeben soll.

Wie EikeB schon geschrieben hat, macht es doch keinen Sinn, das Objekt zurückzugeben, wenn ausgeben() schon die Informationen auf der Konsole ausgibt. Leider wird es in der Form von mir gefordert und ich muss mich daran halten. Ich werde den Aufgabensteller aber mal drauf ansprechen.
 
Ich kann auch nicht nachvollziehen, warum du das objekt zurueckgeben sollst, da du es ja bereits hast...
Einzige idee waere, damit du mehrere methoden hintereinanderstellen kannst:

Java:
o.ausgeben().ausgeben().ausgeben();
Natuerlich in der praxis mit verschiedenen methoden ^^
 

Zurück
Oben