e2:grundbegriffeoop

Grundbegriffe der Objektorientierten Programmierung

Objekte:

  • Gegenstände / Lebewesen / Sachverhalte / …
  • besitzen Eigenschaften (Attribute)
  • diese Attribute können ihrerseits Objekte sein
  • haben Verhaltensweisen (Methoden)
  • werden oft auch als Instanz einer Klasse bezeichnet
  • Objekte einer Klasse haben gleiche Attribute und gleiche Funktionen; sie unterscheiden

sich nur in den Werten ihrer Attribute

Klassen:

  • beschreiben eine Gruppe von gleichartigen Objekte
  • enthalten „Platzhalter“ für die Eigenschaften
  • haben Verhaltensweisen (Methoden)
  • Beziehungen zu anderen Klassen (Vererbung)

Ein Beispiel einer Klasse: Lehrer

Attribute: Name, Vorname, Gehalt
Methode: Gehalt_aendern
Ein Objekt (eine Instanz) der Klasse Lehrer:
Attribute haben die Werte:

Ein Aufruf der Methode Gehalt_andern sieht in JAVA immer so aus:

 MeinInfoLehrer.Gehalt_aendern(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, d.h. wenn wir ein JAVA-Programm schreiben, definieren wir eine Klasse.

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 <Vollständiger Klassenname> oder import <Paketname.*>. In unserem Programm

 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, nämlich jTextField1 und der Klasse JButton, nämlich jButton1.

Es hat sich eingebürgert, Klassenbezeichner mit einem großen Buchstaben beginnen zu lassen, Objektbezeichner mit einem kleinen Buchstaben.

Wenn wir unser Programm schreiben, verändern wir lediglich die Methode jButton1_ActionPerformed.

Der Objektinspektor ist ein Hilfsprogramm, mit dem man die Werte der Attribute eines Objekts verändern kann.

Hier noch mal ein Beispiel einer Vererbung.

  • /var/www/infowiki/data/pages/e2/grundbegriffeoop.txt
  • Zuletzt geändert: 2017/09/22 11:40
  • von admin03