Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Jetzt lerne ich Java 6

Methoden überladen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
OOP macht süchtig nach mehr ... Wenn man als Programmierer nicht wissen muss, was im Inneren geschieht, muss man dann wissen, welche Parameter man in die Methode hineinschickt?
05:01

Transkript

Mittlerweile sind Sie ja jetzt schon recht fit mit Klassen und ich möchte mit Ihnen jetzt die Methodenüberladung mir anschauen. Methodenüberladung - was soll das sein? Nun. Schauen wir uns doch mal unsere Klasse "Konto" in einer Übersicht an. Da kann uns die Entwicklungsumgebung hier helfen, indem ich über das Projekt gehe und ich sehe hier meine Kontenklasse. Wenn ich die mal aufklappe, sehe ich hier die Felder als die Eigenschaften, meine Kontenklasse, zurzeit Besitzer und Kontostand, Konstruktoren - da haben wir zurzeit noch keinen - unsere Methoden und gegebenenfalls Bean Patterns. Dies sind unsere Methoden, die wir angelegt haben: getBesitzer, getKontostand und setBesitzer und setKontostand. In diesem Film möchte ich jetzt gerne eine Funktion implementieren, die setDaten heißt. Das heißt, ich stelle mir vor, dass man gegebenenfalls den Besitzernamen ändern kann, den Kontostand ändern kann oder auch beides. Und das schreit nach Methodenüberladung. Warum? Na, es ist doch ganz klar. Wir haben einmal die Möglichkeit nur den Besitzernamen zu wechseln. Die Methode soll aber heißen - setDaten. Wenn ich aber auch mit der gleichen Methode - also setDaten - auch gerne beides ändern möchte - Besitzernamen und Kontostand, dann brauchen wir zweimal die gleiche Methode, nur mit unterschiedlichen Übergabeparametern. Und abhängig von diesen Übergabeparametern - eine unterschiedliche Funktionalität. Und das ist für Java mit Hilfe der Methodenüberladung überhaupt kein Problem. Also wechseln wir wieder direkt in unsere Klasse und suchen uns hier einen freien Platz bei den setMethoden. Hier beginnen wir zuerst einmal mit dem Implementieren, wenn der Benutzer beides mitsendet. Also, setDaten, Klammer auf, er sendet einen String mit einem neuen Besitzernamen - ich nenne den mal "bs" - und einen double-Wert für den neuen Stand "std" als Rückgabewert. Da es eine Setzen-Methode ist, sagen wir: void soll nichts zurückgeliefert werden. Und nun können wir mit dem Implementieren beginnen. Wir werden jetzt unseren Besitzer - das ist das Feld "Besitzer" hier oben - ändern ... ist gleich "bs". Und unseren Kontostand - zurzeit hier oben Kontostand - ändern in "std". Das ist so weit. Damit hätten wir unsere erste Methode. Lassen wir das kurz kompilieren. Wir sehen, alles funktioniert noch wie gehabt. Kein Fehler darin. Wir werden jetzt die gleiche Methode noch einmal implementieren. Nur dieses Mal mit einer sogenannten anderen Signatur. Die Übergabeparameter hier zeigen die Signatur an. Also wie die Methode sich nach außen gibt. Hier können wir also sagen, dass wir einfach setDaten noch einmal implementieren. Aber dieses Mal mit einer anderen Signatur. Und zwar, es wird nur einen String übergeben - bs, für Besitzer. Noch das implementiere ich nun. Und das Gleiche machen wir noch mal, wenn wir nur einen double-Wert übergeben. Das heißt, im Ganzen haben wir jetzt dreimal die gleiche Methode, nur mit unterschiedlichen Signaturen. Und das sehen wir auch schön in der Projektübersicht nun hier angegeben. Wie nutzen wir nun solche überladenen Methoden? Nun, extrems einfach. Wir können jetzt hier aus dem Hauptprogramm einfach hingehen und an irgendeiner Stelle, hier zum Beispiel, setBesitzer einmal austauschen in setDaten. Ich lass das Ganze durchlaufen und wir sehen - der Neue Besitzer: Helge Maus wurde trotzdem eingetragen. Was die Java-Umgebung an dieser Stelle tut, ist - sie sieht setDaten und findet in der Klasse drei Methoden, die dazu passen. Und schaut dann auf die Signatur. Hier wird nur ein String übergeben. Dann wird eben eine passende Signatur von setDaten gefunden, wo eben ein String als Parameter vorhanden ist. Und diese wird dann ausgeführt. Würden wir nun bei dem Aufruf hier noch einen weiteren Parameter einfügen, zum Beispiel, einen Kontostand von -22,34 Euro, dann würde hier ein String und ein double-Wert stehen. Und entsprechend wird sich Java nun diese Methode heraussuchen, denn hier stimmt die Signatur - einen String und einen double-Wert. Sie sehen, mit Hilfe der Methodenüberladung haben Sie es relativ einfach, eine Klasse für möglichst viele Anwendungsfälle flexibel zu gestalten.

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!