java.sun.com

   JAVA - Grundbegriffe


 Startseite
 Grundlagen

 Indexverzeichnis


JAVA - Grundbegriffe

Nichts geht ohne die notwendigen Grundbegriffe. Wer die Bedeutung der einzelnen nicht gleich begreift, soll sich erst einmal mit der Programmierung selber befassen. Das Verstehen kommt irgendwann von selbst.

Klasse
Objekt
Constructor
Methode
Instanz- oder Indexvariable
Basisklasse
Interface
Package
Vererbung

  Seitenende


Klasse

Die Klassen sind die Basis von JAVA. Jede Klasse einen Objekttyp, z.B. eine Farbe. Alles was ich in JAVA verwenden möchte, muß in irgendwelchen Klassen stehen. Sie sind die eigentlichen Programme. Die Klassen sind zu Packages zusammengefaßt. Sie enthalten Methoden, Constructor und Indexvariablen.
So eine Klasse ist z.B. java.awt.Button, java.applet.Applet und java.awt.event.WindowEvent.

Stellen wir uns vor, wir haben ein Auto. Das Auto gehört natürlich mir selbst. Dieses Auto hat sogar einen Namen: "Klasse".

  Seitenanfang


Objekt

JAVA ist objektorientiert. Aus den meisten Klassen können Objekte abgeleitet werden. Im Prinzip kann man alles ein Objekt nennen, was mit Objekttyp Objektname = new Objekttyp() definiert wird. Solche Definitionen werden immer benutzt, wenn bestimmte vordefinierte Funktionen verwendet werden wollen. Dazu zählen u.a. alle graphischen Objekte (Buttons, Checkboxen,...).

In meinem Auto brauche ich verschiedene Einrichtungsgegenstände, z.B. einen Scheibenwischer, einen Blinker, ein Lenkrad, ein Radio usw. Ich wäre wahrscheinlich selten blöd, wenn ich jetzt einen neuen Schreibenwischer, einen neuen Blinker, also einfach alles neu erfinden möchte. Ich "kaufe" es einfach! Den Scheibenwischer bekomme ich von der Firma Scheibwisch, den Blinker von der Firma Blink ... . Und das baue ich einfach in mein Auto ein. Übrigens, diese Firmen nennt man auch Klassen!!! (Kommt doch irgendwie bekannt vor!)
Um so ein Radio zu bekommen, muß ich natürlich wissen, wie ich es bekommen kann. Dafür gibt es die "Objekttyp Objektname = new Objekttyp()"-Bestellscheine, mit denen ich ganz einfach die erforderlichen Angaben abschicke und ein Radio dafür bekomme. Näheres gibts auch noch beim Constructor.

  Seitenanfang


Constructor

Der Constructor legt fest, wie ein Objekt implementiert (eingebunden) werden muß. Dabei werden alle notwendigen Werte angegeben, die dafür benötigt werden.

Natürlich habe ich oft nicht nur eine Möglichkeit zu sagen, was für ein Auto ich möchte. Es gibt z.B. bei Sportwagen die Möglichkeit anzugeben, wie schnell es fahren soll, bei Transportautos, wie groß die Ladefläche sein soll und bei einem Kombi, wie groß der Kofferraum sein muß. Sun kann das theoretisch über eine einzige Klasse bereitstellen, indem mehrere Constructor vorhanden sind.


  Seitenanfang


Methode

Die Methoden sind die Funktionen, die mir zur Verfügung stehen, um mit den Objekten arbeiten zu können. Sie sind in den entsprechenden Klassen enthalten.

Natürlich soll mein Auto auch fahren, blinken, bremsen usw. können. Dafür gibt es in den Klassen die entsprechenden Funktionen, auch Methoden genannt.
Hier sollte man aufpassen, daß man die Funktionen nicht mit den Objekten verwechselt (z.B. dem Blinker selbst).

  Seitenanfang


Instanz- oder Indexvariable

Eine Instanz- oder Indexvariable stellt eine Erleichterung für den Programmierer dar. Sie sind vordefinierte Werte. So gibt es z.B. für Farben die Möglichkeit, sie ganz einfach als Farbenname hinzuschreiben. Normalerweise wird eine Farbe aus drei Werten zusammengesetzt. Diese sind meistens rot, grün und blau. So wäre z.B. die Farbe rot: 255,0,0. JAVA bietet jetzt die Möglichkeit, solche häufig vorkommenden Definitionen als "Text" festzulegen: Color.red.

Für mein Auto kann ich verschiedene Farben wählen: rot, grün, blau, gelb und weiß.

  Seitenanfang


Basisklasse

Die Basisklasse ist die Klasse, von der eine andere abgeleitet wurde. In der Regel wird eine Klasse, die ich erstelle, von einer anderen abgeleitet: auf Javanesisch - sie erbt alle Eigenschaften der Basisklasse. Mehr dazu bei Vererbung.

Sun erfindet die Autos nicht jedes Mal neu, sondern entwickelt sie einfach weiter. Dafür nehmen sie einfach ein altes Auto mit dem Namen Basisklasse und ändern einige Dinge. Einige Funktionen werden hinzugefügt, andere nur geändert. Und so entsteht mein eigenes Auto, ganz nach meinen Wünschen und Vorstellungen.

  Seitenanfang


Interface

Ein Interface ist eine Schnittstelle. Sie ist normalerweise dann anzutreffen, wenn Daten eingeladen bzw. ausgegeben werden, also z.B. bei Bildern, Musik, Dateien.

Mein Auto braucht ab und zu neues Benzin. Um das Benzin einfüllen zu können, muß ein Tank vorhanden sein. Und für diesen Tank brauche ich wiederum einen Tankdeckel. Dieser Tankdeckel ist z.B. so ein Interface, also eine Schnittstelle zwischen meinem Auto und der Zapfsäule. Ein weiteres Interface wäre z.B. die Hupe. Sie soll schließlich die anderen warnen, daß ich jetzt komm ;-) Andere behaupten allerdings, das Pflanzen von Gummibäumen wäre bei mir angebrachter.

  Seitenanfang


Package

Ein Package ist eine Zusammenfassung von Klassen. Folgende Standard-Packages sind in JAVA enthalten: java.applet, java.awt , java.awt.datatransfer , java.awt.event , java.awt.image , java.beans , java.io , java.lang, java.lang.reflect , java.math , java.net , java.rmi , java.rmi.dgc , java.rmi.registry , java.rmi.server , java.security , java.security.acl , java.security.interfaces , java.sql , java.text , java.util , java.util.zip.
Sie dienen lediglich der Übersichtlichkeit.

Ein Package für mein Auto könnte z.B. die Innenausstattung sein, oder das Fahrwerk. Alle einzelnen Komponenten, die in meinem Auto Objekte sind, werden dort als Gruppe zusammengefaßt.

  Seitenanfang


Vererbung

Fast jede Klasse kann vererbt werden. Am häufigsten sind dabei die Klassen java.awt.Frame und java.applet.Applet anzutreffen. Das Vererben hat einen Vorteil: alle Funktionen, die in der zu vererbenden Klasse enthalten sind, werden einfach weitergegeben. Eine Klasse kann jeweils nur von einer Klasse abgeleitet werden! Bei JAVA sind keine Mehrfachvererbungen möglich.
In der JDK-Dokumentation ist am Beginn der Klasssenbeschreibungen immer aufgeführt, von welcher Klasse die aktuelle abgeleitet wurde.

 
weiter:
zurück:
  Objektorientiert
  Was brauche ich zum Programmieren?
  Seitenanfang © 1999-2001  Brit Schröter