Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


1.2.2

Objektorientiert


Natürlich musste eine neue Programmiersprache, die sich erst verbreiten und durchsetzen wollte, aktuellen Paradigmen folgen. Eine Sprache, die auf Label- und Goto-Statements basierte, hätte sicherlich keine Chance im offenen Entscheidungsprozess des Markts gehabt. Es ist daher verständlich, dass Java als objektorientierte Sprache konzipiert wurde.

Java ist vollständig objektorientiert aufgebaut. Es ähnelt in weiten Zügen C++, verzichtet jedoch auf dessen prozeduralen Hintergrund. Nur so lässt sich ein sicheres Konzept realisieren. Wären beispielsweise wie in C++ noch direkte Zugriffe auf Strukturen oder Pointer-Manipulationen erlaubt, so könnte man nie ganz sicher sein, dass das Programm auch robust abläuft und nicht über irgendwelche Hintertüren auf unerlaubte Bereiche zugreift.

Die Grundelemente einer objektorientierten Sprache sind Kapselung, Vererbung und Polymorphismus.

Kapselung heißt, dass die Daten eines Objekts nur über definierte Methoden (in der Literatur auch Nachrichten genannt) zugänglich sind. Die Daten sind also in den Objekten gekapselt. Damit sind auch die Zugriffe auf die internen Strukturen gekapselt und für den Anwender des Objekts bzw. den Programmierer, der das Objekt verwendet, vollständig unsichtbar. Man spricht in diesem Zusammenhang auch von data hiding.

Vererbung bedeutet, dass Objekte Eigenschaften und Methoden von anderen Objekten erben, d. h. übernehmen können. In den meisten Sprachen und auch in Java wird dazu der Begriff der Klasse eingeführt. Klassen sind über eine Is-a-Verknüpfung miteinander verbunden und bilden so eine Klassenhierarchie. An ihrer Wurzel steht die einfachste Klasse, an ihren Enden liegen die spezialisierten Klassen.

Einige Sprachen bieten die Möglichkeit der multiplen Vererbung. Das heißt, eine Klasse hat nicht nur eine, sondern mehrere andere Klassen als Oberklassen und übernimmt die Eigenschaften von allen diesen Klassen. Die dabei möglichen Konflikte - wenn beispielsweise die Oberklassen verschiedene Auffassungen über eine bestimmte Methode besitzen - machen die Programmierung an dieser Stelle kompliziert und fehleranfällig.

Java verzichtet daher auf die multiple Vererbung und besitzt stattdessen so genannte Interfaces, die an Objective-C angelehnt sind.

Durch Polymorphismus können verschiedene Klassen auf eine bestimmte Nachricht in ihrer jeweiligen Weise reagieren. In einer Klasse werden Objekte zusammengefasst, die gemeinsame Merkmale besitzen.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.