Was ist eine Instanzmethode
Dinge, die ein Objekt/Instanz tun kann —> buch1.berechneMwSt();
Methode einer Klasse, die nur in einer Instanz der Klasse verwendbar ist
werden immer ohne eine Referenz auf ein bestimmtes Objekt aufgerufen und sind mit dem Zusatz static versehen
Zweck:
Wiederverwendung von Code: Vermeidung von Redundanzen & Maximierung der Wartbarkeit
Was ist eine Klassenmethode/statische Methode
hängen nicht an einem Objekt und können daher immer ohne explizit erzeugtes Objekt aufgerufen werden
werden über die Klasse aufgerufen: Klassenname.Methodenname
werden als static deklariert
Instanziierung von Objekten (Main)
Problem: Methoden sollen auch vor Erstellen der Klasse zur Verfügung stehen.
Es wird eine Start-Methode benötigt —> Lösung: Main-Methode
Instanziierung von Objekten und Standkonstruktor
jede Klasse besitzt einen impliziten Konstruktor ("Standardkonstruktor")
hat keine Parameter
übernimmt das Initialisieren der Instanzfelder mit Defaultwerten der jeweiligen Datentypen
wenn ein Konstruktor mit Parametern deklariert wird, funktioniert der Standardkonstruktor nicht mehr, außer er wird explizit definiert
Buch buch1 = New Buch();
—> Buch() kann als neuerzeugtes Objekt verwendet werden
—> Buch () ist der Standartkonstruktor (Zuweisung von Default Werten)
Zugriff auf Attribute mit “this”
Referenz auf das aktuelle Objekt
Nützlich zum Auflösen von Namenskonflikten bei Übderdeckung
Operatoren
Inkrement “++” Erhöhung um eins
Dekrement “- -” Verringerung um eins
Postfix —> n++ nach der Verwendung
Präfix —> ++n vor der Verwendung
Überladen
Methoden mit gleichem Namen
Regeln
entweder unterschiedliche Übergabeparameter
oder unterschiedliche Anzahl der Parameter
Beispiel:
Methode A:
publich double addieren (double zahl1, double zahl2) {
retun zahl1 + zahle2;
}
Methode B:
publich double addieren (int zahl1, double zahl2) {
Methode C:
publich double addieren (double zahl1, double zahl2, double zahl3) {
retun zahl1 + zahle2 + zahl3;
Packages Namenskonvention
kleinbuchstaben
häufg Internetdomainnamen
umgekehrtereinfolge von Domainnamen
bsp: de.vit_bund.lehre.m08.buchhandlung
Aufbau von Methoden
Methodenkopf: Rückgabetyp + Methodenname + optionale Parameterliste
Methodenrumpf
expliziter Konstrukor
spezielle Art von Methoden
wird verwendet, um Objekte zu instanziieren/zu erzeugen
trägt den Namen der Klasse und hat keinen Rückgabewert, z.B. Buch ()
kann überladen werden (unterscheiden sich dann allein durch ihre Parameter)
Methodensignatur
Besteht aus Methodenname und Parameterliste. Sie muss innerhalb der Klasse eindeutig sein, sonst meldet der Compiler einen Fehler.
Last changed2 years ago