Lernpfad:Objektorientierte Programmierung mit Java/Methoden: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) |
||
Zeile 3: | Zeile 3: | ||
{{#ev:youtube|https://www.youtube.com/watch?v=rR7qhVAkmoE}} | {{#ev:youtube|https://www.youtube.com/watch?v=rR7qhVAkmoE}} | ||
== | == Strukturierte Zerlegung == | ||
Methoden sind Bestandteile von Klassen, die ''aufgerufen'' werden können und eine Abfolge von Anweisungen ausführt (einen Algorithmus). Jede Methode hat einen bestimmten Zweck und kapselt eine ''Fähigkeit'' der Klasse. Jede Methode kann wiederum als Anweisung in anderen Methoden (unter bestimmten Bedingungen auch in anderen Klassen) benutzt werden. So lassen sich aus einzelnen Methoden komplexe Programme erstellen. | Methoden sind Bestandteile von Klassen, die ''aufgerufen'' werden können und eine Abfolge von Anweisungen ausführt (einen Algorithmus). Jede Methode hat einen bestimmten Zweck und kapselt eine ''Fähigkeit'' der Klasse. Jede Methode kann wiederum als Anweisung in anderen Methoden (unter bestimmten Bedingungen auch in anderen Klassen) benutzt werden. So lassen sich aus einzelnen Methoden komplexe Programme erstellen. | ||
Version vom 25. Dezember 2018, 11:11 Uhr
Methoden im Überblick
Strukturierte Zerlegung
Methoden sind Bestandteile von Klassen, die aufgerufen werden können und eine Abfolge von Anweisungen ausführt (einen Algorithmus). Jede Methode hat einen bestimmten Zweck und kapselt eine Fähigkeit der Klasse. Jede Methode kann wiederum als Anweisung in anderen Methoden (unter bestimmten Bedingungen auch in anderen Klassen) benutzt werden. So lassen sich aus einzelnen Methoden komplexe Programme erstellen.
Auf diese Weise eigenen sich Methoden vor allem, ein komplexe Problem in Teilprobleme zu zerlegen, die leichter zu lösen sind und sich zur Lösung des komplexen Problems kombinieren lassen. Man spricht dann von der Strukturierten Zerlegung.
Methoden überladen
Beim Überladen hat man mehrere Methoden mit demselben Namen in einer Klasse, die sich alle in der Parameterliste unterscheiden. Beim Aufruf entscheidet der Interpreter anhand der Datentypen der übergebenen Werte, welche Methode ausgeführt werden muss.
public class Addierer {
public int addiere(int a, int b) {
return a + b;
}
public int addiere(int a, int b, int c) {
return a + b + c;
}
public int addiere(int a, int b, int c, int d) {
return addiere(a,b) + addiere(c,d);
}
public static void main(String[] args) {
Addierer a = new Addierer();
System.out.println( "addiere(3, 4, 5) = " + a.addiere(3, 4, 5) );
System.out.println( "addiere(17, 3, 5, 8) = " + a.addiere(17, 3, 5, 8) );
}
}
- Lies den "Abschnitt 2.7.10 Methoden überladen" im Onlinebuch "Java ist auch eine Insel".
- Erklärt die Aufrufreihenfolge der Methoden im Beispielprogramm oben (Klasse "Addierer").
- Erstellt ein (kleines) Beispielprojekt, an dem das Konzept "Überladen" erklärt werden kann.