PROGRAMMIERPRAKTIKUM 2
JAVA - EINFÜHRUNG


 

KLASSEN - EINE EINFÜHRUNG

 

Hauptunterschied zwischen objektorientierter und prozeduraler Programmierung
(und damit zwischen Methode und Funktion) betrifft die Rolle der Daten.

Bei PP

transformieren Funktionen die Inputdaten in die Outputdaten;

Bei OOP

stehen die Daten im Mittelpunkt; sie werden vor dem Zugriff geschützt, indem sie mit Methoden umgeben werden, die den Zugriff von außen kontrollieren.

 

Die drei Hauptcharakteristiken von OOP sind:

  • Kapselung:
    Die Sprache reflektiert die Art, wie Dinge in der Realität wahrgenommen werden: sie besitzen Charakteristika (Attribute) und haben ein individuelles Verhalten (Aktionen).
  • Vererbung:
    Gruppen von Objekten der Realität haben gemeinsame Charakteristika und gemeinsames Verhalten.
  • Polymorphismus (Vielgestaltigkeit):
    Objekte der Realität vollbringen den gleichen Typ von Aktion in individuellen Varianten: ein Kind läuft, ein Hund läuft, ein Auto läuft, usf.

 

Ihre Realisation in OOLs:

  • Kapselung:
    Die Klasse beschreibt, woraus ein Objekt besteht, nämlich Charakteristika - Variablen - und individuelles Verhalten - Methoden.
    Ein Objekt beginnt zu existieren, wenn eine Instanz der Klasse im Memory angelegt wird (durch Exekution von new).
    Von einer Klasse können beliebig viele Objekte (Instanzen) angelegt werden.
  • Vererbung:
    Vererbung ist die Fähigkeit einer sg. abgeleiteten Klasse oder Unterklasse, die Charakteristika und das Verhalten einer anderen, sg. Oberklasse, bzw. Superklasse oder base classe zu erwerben. Daraus resultiert eine Klassenhierarchie, bei der das allgemeinste Konzept bei der Wurzel des Klassenbaumes angesiedelt ist und in Richtung Blätter verfeinert wird ("stepwise refinement")
  • Polymorphismus (Vielgestaltigkeit):
    Eine Schnittstelle für viele Implementierungen: Methoden mit dergleichen Schnittstelle, aber unterschiedlicher Implementierung

 

Inhalt

 

 

Weiter

 


© by Dr. Ulrike Maschtera; Fragen und Anregungen senden Sie bitte an Dr. U. Maschtera
To get best results use Netscape Navigator (ª)as browser!