Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich habe in einem Kurs einen Trainer der immer alle "Ausgaben" in der main mit sysout macht.
Also auch die getters........macht er alles erst in der Main.
Wenn wir eine Methode machen sollen die einen bestimmten wert einer Klasse ausgeben soll.
Zb.: Was ist die Farbe des Autos VW1?
Dann macht er das immer in der main mit "sysout.....(klasse.methode);" oder sysout(klasse.farbe);"
Jetzt kann ich mir aber von einem Unterricht an der Uni erinnern, dass man doch so etwas am besten gleich in der Methode implementiert was ja viel wiederholten code erspart.
Also ich schreibe einfach das sysout in die methode und wenn ich dann in der main schreibe "klasse.methode", dann erhalte ich in der console bereits meine Antwort.
Was sind die vor und nachteile davon und was ist eigentlich "Best-Prectice"
Natürlich verstehe ich, wenn ich für andere Zwecke eine Methode brauche die mir einen "Wert" zurückliefert, dass ich diese Methoden nicht als void deklarieren werde.
Aber bis dato hatten wir noch NIE eine Methode weiterverwendet außer zur bloßen Ausgabe.
Würd nur mal gerne den Input so hier sehen von echten programmieren, der Trainer scheint ziemlich überfordert und beantwortet all unsere Fragen immer mit "Das kommt irgendwann später!"
In der Regel trennt man die Logik von der Ausgabe.
Wenn es also die Aufgabe einer Methode ist, z. B. etwas zu berechnen, dann sollte sie genau das tun und nicht mehr. Ist es die Aufgabe einer Methode etwas auszugeben, dann soll sie genau das tun und auch nicht mehr. Normalerweise werden Logik und Ein-/Ausgabe auch von unterschiedlichen Klassen erledigt.
Irgendwann könnte es ja mal sein, dass du Ergebnisse nicht mehr einfach auf der Konsole ausgeben möchtest, sondern mit einer tollen GUI oder in einer Webanwendung. Dann lässt sich die Logik dafür weiter verwenden.
Zusätzlich noch zu @temi:
Eine Methode macht (in der Regel) genau eine Sache. Und der Name gibt auch genau vor, was die Methode macht.
Also berechneWasTolles wird nur was Tolles berechnen. Aber dieses nicht ausgeben.
gibtWasTollesAus wird nur was Tolles ausgeben, aber dieses nicht berechnen.
Das wäre ein einfacher Clean Code Gedanke, der dies etwas erläutert. Aber das nur, weil das etwas ist, das von Anfang an interessieren sollte. Die generelle Strukturierung und der Aufbau mit irgendwelchen Pattern kommt noch später. Das wiegt dann noch schwerer, aber der Hinweis zum Clean Code wird vielleicht auch schon ein bisschen helfen.