BloodRocks
Lt. Junior Grade
- Registriert
- Okt. 2021
- Beiträge
- 436
Wenn eine Methode den Rückgabewert 3 hat und diese Methode 3 mal durchgeführt wird, wird dann insgesamt der Wert 9 zurück gegeben und in der Methode gespeichert?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
get_sum (int x, int y){
return(x+y); //Rückgabewert der Funktion
}
my_funktion(){
int result, a, b;
a = 1;
b = 2;
result = get_sum(a,b); //Aufruf der Funktion, die nur das Ergebnis zurückliefert
print result;
}
Oder noch plastischerWasserhuhn schrieb:Für die Speicherung bist du verantwortlich.
Stelle dir die Methode als Ballschießgerät vor. Die Parameter sind Flugwinkel und Geschwindigkeit. Den Ball/Rückgabewert darfst du fangen/speichern.
...G-Red schrieb:Colla-Automat
public class MethodenRueckgabe {
//Methode gibt eine ganze Zahl (int) zurück
public static int gibZurueck () {
return 2;
}
public static void main (String [] args){
//Die println Anweisung gibt jetzt das Ergebnis der Methode auf der Konsole aus.
System.out.println(gibZurueck ());
}
}
public class MethodenRueckgabe {
public static void main (String [] args){
System.out.println(gibZurueck ());
}
public static int gibZurueck () {
return 2;
}
}
// hier ist die Ausgabe in der Methode ohne rueckgabe
public static void main (String [] args){
gibZurueck();
}
public static void gibZurueck () {
System.out.println('2');
}
//
//
//
// ODER einfach direkt ausgeben
public static void main (String [] args){
System.out.println('2');
}
//
//
//
// ODER Erst einer variablen zuweisen und dann deren Inhalt wiedergeben
public static void main (String [] args){
x = gibZurueck();
System.out.println(x);
}
public static int gibZurueck () {
return 2;
}
Eine Methode kann beliebig komplex sein. Je simpler sie ist - zB ein banales return mit einer statischen 2 - umso geringer ist offensichtlich der Vorteil der Kapselung. Aber dieses Beispiel ist natürlich auch relativ sinnfrei, weil "return 2" inkl. Methodenkopf unfassbar viel aufwendiger ist als einfach nur eine .. .. .. 2.BloodRocks schrieb:Was bringt das überhaupt, denn warum schreibt man nicht einfach
gibZurueck = 2
BloodRocks schrieb:Ich verstehe das Prinzip der Rückgabe nicht ganz. Wenn ein Wert zurück gegeben wird, wird es dann in der Methode gespeichert? Ist dann die Methode so etwas wie eine Variable?
public class Vehicle {
private String color;
// Getter
public String getColor() {
return color;
}
// Setter
public void setColor(String c) {
this.color = c;
}
}
class Program {
public static void main(String[ ] args) {
Vehicle v1 = new Vehicle();
v1.setColor("Red");
System.out.println(v1.getColor());
}
}
public class Vehicle
//du erstellst hier ein (Klassen)-Objekt "Fahrzeug". public String getColor() {
return color;
}
getColor();
ab. // Setter
public void setColor(String c) {
this.color = c;
}
setColor(string c)
, also den "string c", in die "private Variable c" schreibt. Vehicle v1 = new Vehicle();
v1.setColor("Red");
System.out.println(v1.getColor());
Vehicle v2 = new Vehicle();
v2.setColor("Blue");
System.out.println(v2.getColor());
Vehicle v1 = new Vehicle();
v1.setColor("Blue");
// Farbe des Fahrzeugs = blau, alles gut
Vehicle v2 = new Vehicle();
v2.setColor("Walter");
// Farbe des Fahrzeugs = .. .. .. Walter?!? What?!?
public void setColor (string c)
{
// Setter prüfe in einem Switch-Statement ob c zugelassen ist
switch(c.ToUpperCase())
{
case "RED":
case "GREEN":
case "BLUE":
this.color = c;
break;
default:
break;
}
}