Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
e2:grundbegriffeoop [2017/09/22 11:37] – admin03 | e2:grundbegriffeoop [2017/09/22 11:40] (aktuell) – admin03 | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
Ein Aufruf der Methode Gehalt_andern sieht in JAVA immer so aus: | Ein Aufruf der Methode Gehalt_andern sieht in JAVA immer so aus: | ||
- | | + | |
und setzt z.B. das Gehalt von 700 auf 600. | und setzt z.B. das Gehalt von 700 auf 600. | ||
+ | |||
+ | Wenn der Javaeditor richtig konfiguriert ist, zeigt er nach Eingabe einer Instanz einer Klasse und eines Punktes alle möglichen Attribute und Methoden dieser Klasse an. Gibt man in unserem ersten Programm z.B. **jTextField1**. ein, dann werden alle Attribute und Methoden der Klasse jTextField angezeigt, unter anderem auch die Methode **setText(...)**. | ||
+ | |||
+ | **JAVA ist komplett objektorientiert, | ||
+ | |||
+ | Eine Klasse hat immer eine besondere Methode, mit der alles Wesentliche am Anfang definiert wird, den Konstruktor. Er hat denselben Namen wie die Klasse. | ||
+ | |||
+ | In unserem Programm heißt die neue Klasse HalloWelt, also der Konstruktor auch HalloWelt. | ||
+ | Die Vererbung ist ein zentrales Konzept der OOP und wesentlich für den Erfolg objekt-orientierter Sprachen. Eine Klasse kann von einer anderen Klasse alle Attribute und Methoden erben. Dazu können in dieser Subklasse neue Attribute und Methoden definiert werden, bzw. geerbte Methoden abgeändert werden. Die Klasse, von der etwas geerbt wird, wird als Basis- oder Superklasse bezeichnet. Damit lassen sich ganze Klassenhierarchien aufbauen. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Jede Java-Klasse kann nur eine Superklasse haben, aber beliebig viele Subklassen. Stammvater aller Java-Klassen ist die Klasse „Object“. | ||
+ | |||
+ | In Java wird schon eine umfangreiche Klassenhierarchie zur Verfügung gestellt. Verwandte Klassen werden oft in so genannten Paketen (packages) zur Verfügung gestellt. Standardmäßig existiert ein Zugriff auf ein Paket namens java.lang. | ||
+ | |||
+ | Alle anderen Pakete müssen im Quelltext explizit importiert werden mit dem Befehl import < | ||
+ | |||
+ | <code JAVA> import java.awt.*; | ||
+ | import java.awt.event.*; | ||
+ | import javax.swing.*; | ||
+ | import javax.swing.event.*; | ||
+ | |||
+ | Unsere Klasse **HalloWelt** ist ein Nachkomme der schon definierten Klasse JFrame und erbt alle Attribute und Methoden von **JFrame**. | ||
+ | Innerhalb unserer Klasse schaffen wir Instanzen (Objekte) der Klasse **JTextField**, | ||
+ | |||
+ | Es hat sich eingebürgert, | ||
+ | |||
+ | Wenn wir unser Programm schreiben, verändern wir lediglich die Methode **jButton1_ActionPerformed**. | ||
+ | |||
+ | Der Objektinspektor ist ein Hilfsprogramm, | ||
+ | |||
+ | Hier noch mal ein Beispiel einer Vererbung. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||