Lernpfad:Objektorientierte Programmierung mit Java/Methoden: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
Ein '''Methodenkopf''' hat den folgenden Aufbau:
Ein '''Methodenkopf''' hat den folgenden Aufbau:
<center>
<center>
<code>{{Farbig|Sichtbarkeit|blue}} {{Farbig|Rückgabetyp|red}} {{Farbig|Bezeichner|green}}( {{Farbig|Liste von Parametern|orange}} )</code>
<code>{{Farbig|Sichtbarkeit|green}} {{Farbig|Rückgabetyp|red}} {{Farbig|Bezeichner|blue}}( {{Farbig|Liste von Parametern|orange}} )</code>
</center>
</center>


Ein Beispiel für einen korrekten Methodenkopf sieht so aus:
Ein Beispiel für einen korrekten Methodenkopf sieht so aus:
<center>
<center>
<code>{{Farbig|public|blue}} {{Farbig|void|red}} {{Farbig|meineErsteMethode|green}}()</code>
<code>{{Farbig|public|green}} {{Farbig|void|red}} {{Farbig|meineErsteMethode|blue}}()</code>
</center>
</center>


Die Liste {{Farbig|Liste von Parametern|orange}} kann wie im Beispiel auch leer sein, dann müssen nur die Runden Klammern (<code>()</code>) angegeben werden. Der {{Farbig|Rückgabetyp|red}} ist <code>void</code>, was für "nichts" steht. Die {{Farbig|Sichtbarkeit|blue}} ist <code>public</code>. Die Begriffe ''Parameter'' und ''Rückgabetyp'' werden im Schritt {{Pfad|Parameter und Rückgaben}} genauer beschrieben.
Die Liste {{Farbig|Liste von Parametern|orange}} kann wie im Beispiel auch leer sein, dann müssen nur die Runden Klammern (<code>()</code>) angegeben werden. Der {{Farbig|Rückgabetyp|red}} ist <code>void</code>, was für "nichts" steht. Die {{Farbig|Sichtbarkeit|green}} ist <code>public</code>. Die Begriffe ''Parameter'' und ''Rückgabetyp'' werden im Schritt {{Pfad|Parameter und Rückgaben}} genauer beschrieben.


Die {{Farbig|Sichtbarkeit|blue}} spielt erst eine Rolle, wenn in einem Programm mehrere Objekte auch unterschiedlicher Klassen beteiligt sind. Sie regelt, ob auch andere Objekte die Methode aufrufen (benutzen) dürfen. Genaueres wird im Schritt {{Pfad|Referenzen}} beschrieben.
Die {{Farbig|Sichtbarkeit|green}} spielt erst eine Rolle, wenn in einem Programm mehrere Objekte auch unterschiedlicher Klassen beteiligt sind. Sie regelt, ob auch andere Objekte die Methode aufrufen (benutzen) dürfen. Genaueres wird im Schritt {{Pfad|Referenzen}} beschrieben.


Der '''Methodenrumpf''' ist ein ''Block'' von Anweisungen, der durch geschweifte Klammern (<code>{}</code>) gekennzeichnet wird.
Der '''Methodenrumpf''' ist ein ''Block'' von Anweisungen, der durch geschweifte Klammern (<code>{}</code>) gekennzeichnet wird.

Version vom 28. Dezember 2018, 16:44 Uhr

Methoden im Überblick

Methoden implementieren

Methoden in Java-Klassen bestehen aus einem Methodenkopf und einem Methodenrumpf. Der Kopf der Methode legt seine Signatur fest und der Rumpf enthält die Anweisungen.

Ein Methodenkopf hat den folgenden Aufbau:

Sichtbarkeit Rückgabetyp Bezeichner( Liste von Parametern )

Ein Beispiel für einen korrekten Methodenkopf sieht so aus:

public void meineErsteMethode()

Die Liste Liste von Parametern kann wie im Beispiel auch leer sein, dann müssen nur die Runden Klammern (()) angegeben werden. Der Rückgabetyp ist void, was für "nichts" steht. Die Sichtbarkeit ist public. Die Begriffe Parameter und Rückgabetyp werden im Schritt Parameter und Rückgaben genauer beschrieben.

Die Sichtbarkeit spielt erst eine Rolle, wenn in einem Programm mehrere Objekte auch unterschiedlicher Klassen beteiligt sind. Sie regelt, ob auch andere Objekte die Methode aufrufen (benutzen) dürfen. Genaueres wird im Schritt Referenzen beschrieben.

Der Methodenrumpf ist ein Block von Anweisungen, der durch geschweifte Klammern ({}) gekennzeichnet wird.

public void meineErsteMethode() {
    System.out.println("Hallo, Welt!");
}

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) );

    }

}
Icon Heft.png
Arbeitsauftrag
  1. Lies den "Abschnitt 2.7.10 Methoden überladen" im Onlinebuch "Java ist auch eine Insel".
  2. Erklärt die Aufrufreihenfolge der Methoden im Beispielprogramm oben (Klasse "Addierer").
  3. Erstellt ein (kleines) Beispielprojekt, an dem das Konzept "Überladen" erklärt werden kann.