Homepage der FernUniversität in Hagen
Objektorientiertes Programmieren
Lehrgebiet Datenverarbeitunghstechnik
Startseite

Glossar

Glossar

Das Begriffsverzeichnis oder Glossar enthält kurze Begriffserklärungen für die wichtigsten Fachbegriffe, die in diesem Kurs verwendet werden.

abstract

abstract ist ein Schlüsselwort der Sprache Java. Es wird in Klassendefinitionen benutzt, um syntaktisch abstrakte Klassen auszuzeichnen und somit auszudrücken, dass von diesen Klassen keine Objekte erzeugt werden können. Ihre Methoden und Attribute können von Unterklassen nur geerbt und in diesen Unterklassen implementiert werden.

Abstrakte Klasse

Eine abstrakte Klasse definiert die Gemeinsamkeiten einer Gruppe von Unterklassen (engl. subclass). Sie kann eine oder mehrere abstrakte Methoden enthalten. Andere Klassen können abstrakte Klassen erweitern und müssen abstrakte Methoden implementieren. Von einer abstrakten Klasse können keine Objekte erzeugt werden.

Abstrakte Methode

Eine abstrakte Methode (engl. abstract method) wird in der Klasse, die sie einführt, nur mit Namen, Parametertypen und Ergebnistyp definiert aber nicht durch einen Methodenrumpf implementiert. Sie kann nur in Unterklassen der einführenden Klasse implementiert werden. Enthält eine Klasse eine oder mehrere abstrakte Methoden, muss die Klasse selbst als abstrakte Klasse vereinbart werden.

Abstrakte Operation

siehe abstrakte Methode.

Abstraktion

Abstraktion bezeichnet

1.

einen gedanklichen Vorgang, der darauf abzielt, wesentliche Merkmale und Eigenschaften eines Gegenstands oder Begriffs zu ermitteln und Unwesentliches zu unterdrücken (engl. abstraction);

2.

die Festlegung der Funktionalität von Klassen, ohne eine Implementierung der Methoden und Attribute der Klassen anzugeben (engl. interface). Abstraktionen werden durch Klassen implementiert.

abstrakter Datentyp (ADT)

Ein abstrakter Datentyp (ADT, engl. abstract data type) besteht aus:

  • einem Namen, der den ADT bezeichnet,

  • Typen von Datenelementen,

  • Operationen und

  • einer Beschreibung der Eigenschaften dieser Operationen.

Der innere Aufbau (die Datenstruktur) des ADT ist nicht nach außen sichtbar. Eigenschaften des ADT können nur mit Hilfe der verfügbaren Operationen abgefragt und verändert werden. Die Eigenschaften können auf verschiedene Weise abstrakt, also unabhängig von einer konkreten Darstellung der eingekapselten Datentypen und unabhängig von einer konkreten Implementierung der Operationen festgelegt werden.
Die algebraische Datenabstraktion ist eine, bei die Eigenschaften der Operationen durch eine eine endliche Menge von Gesetzen in der Form von Gleichungen, bedingten Gleichungen oder Prädikaten angegeben werden. Diese Gesetze oder Axiome beschreiben die Wechselwirkungen der verschiedenen Operationen auf die Datenelemente des ADT. Man kann aber auch Invariante sowie Vorbedingungen und Nachbedingungen für einzelne Operationen festlegen.

Ada

Die Programmiersprache Ada ist eine Mehrzwecksprache, die sich insbesondere auch für die Entwicklung von Programmen eignet, die in technische Anwendungen eingebettet sind. Ada umfasst eine Vielzahl von Programmierkonstrukten und ermöglicht auch die Programmierung nebenläufiger und verteilter Abläufe.
Die Sprache Ada, die im Jahr 1979 veröffentlicht wurde, wird von manchen auch als die letzte Elefantensprache bezeichnet. Entwicklung und Einsatz von Ada wurden vom US-amerikanischen Verteidigungsministerium voran getrieben.

Akteur

Ein Akteur (engl. actor) ist ein Benutzer oder eine Benutzerin eines zu implementierenden Systems aus der Sicht eines bestimmten Anwendungsfalls. Ein Akteur ist nicht Teil des Systems, sondern interagiert mit ihm. Ein Akteur kann eine Person oder ein anderes System sein.

Der Begriff Akteur bezeichnet eine Rolle einer Systembenutzerin oder eines externen Programms, das direkt mit dem betrachteten System als Teil einer zusammenhängenden Arbeitseinheit zusammenwirkt. Ein realer Handlungsträger kann mehrere Rollen in den Anwendungsfällen eines Systems wahrnehmen und kann daher durch verschiedene Akteure dargestellt sein.

Aktivitätsdiagramm

Ein Aktivitätsdiagramm (engl. activity diagram) ermöglicht die übersichtliche Darstellung der verschiedenen Schritte in einem Arbeitsablauf. Aktivitätsdiagramme erlauben es, alternative und nebenläufige Aktivitäten zu beschreiben.

Aktivitätsdiagramme werden vorwiegend benutzt, um Abläufe zu erfassen, die sich über verschiedene Anwendungsfälle und Akteure erstrecken. Sie fördern die Entdeckung nebenläufiger Handlungsstränge und verhindern so die unnötige Linearisierung von Abläufen.

Algol

Die Programmiersprache Algol 60, erschienen im Jahr 1960, ist nach Fortran und mit Cobol die zweitälteste höhere Programmiersprache. Algol 60 ist eine prozedurale Sprache, die mit dem Ziel entwickelt wurde, numerische wissenschaftliche Probleme leichter lösbar zu machen. Algol 60 führte die Blockstruktur sowie rekursive Prozeduren ein.

Algorithmus

Ein Algorithmus (engl. algorithm) ist eine Verfahrensvorschrift zur Lösung einer Aufgabe. Die Verfahrensvorschrift beschreibt in endlicher Form, welche einzelnen Verarbeitungsschritte bei der Bewältigung der gestellten Aufgabe ganz mechanisch und gesetzesmäßig auszuführen sind.

Analyse

Bei der Analyse (engl. analysis) werden die Anforderungen eines Auftraggebers an ein zu erstellendes Softwaresystem ermittelt. Das Ergebnis soll die Anforderungen vollständig, eindeutig, präzise und verständlich beschreiben.

Animation

Eine Animation ist eine Folge bewegter Bilder, die jedes einzeln berechnet werden und durch geringfügige Unterschiede zwischen aufeinanderfolgenden Bildern den Eindruck einer fließenden Bewegung erzeugen.

Anweisung

Eine Anweisung (engl. statement) beschreibt einen einzelnen Bearbeitungsschritt, der von einem Programm ausgeführt wird. In Java wird eine elementare Anweisung i.d.R. mit einem Semikolon (;) abgeschlossen.

Anwendungsfall

Ein Anwendungsfall (engl. use case) ist eine zusammenhängende Einheit von Aktionen, die ein System einem Akteur außerhalb des Systems zur Verfügung stellt. Die Aktionen werden von Akteuren durch Botschaftenaustausch angestoßen, um ein bestimmtes Ziel oder Ergebnis zu erreichen. Die Ergebnisse einer Systemaktion werden gleichfalls durch Botschaftenaustausch den Akteuren in der Umgebung des Systems übermittelt.

Die Summe aller Anwendungsfälle zeichnet überblicksartig ein Bild des Systems.

Anwendungsfalldiagramm

Ein Anwendungsfalldiagramm (engl. use case diagram) besteht aus einer Menge von Akteuren, Anwendungsfällen, Kommunikationsbeziehungen zwischen Akteuren und Anwendungsfällen sowie aus Verallgemeinerungsbeziehungen wie „erweitern“ (engl. extend) und „enthalten“ (engl. include), die zwischen Anwendungsfällen oder zwischen Akteuren bestehen können.

Argument

Ein Argument (engl. argument) oder ein aktueller Parameter (engl. actual parameter) bezeichnet einen konkreten Wert, der bei Aufruf und Ausführung einer Methode anstelle eines Aufrufparameters eingesetzt wird.

Assembler

Assembler-Sprachen sind maschinenorientierte Programmiersprachen, die die hardwarenahe Programmierung erleichtern: Der Binärcode der Maschinensprachen wird durch mnemonische Symbole dargestellt, sodass er für Menschen verständlich ist.

Für jeden Rechnertyp gibt es spezielle, auf den Befehlsvorrat des Prozessors zugeschnittene Assemblersprachen.

Assoziation

Eine Assoziation (engl. association) modelliert statische Beziehungen zwischen Klassen von Objekten.

Attribut

Ein Attribut (engl. attribute) ist ein benanntes und typisiertes Datenelement, das in einer Klasse vereinbart wird und Werte eines bestimmten Typs und damit auch Zustandsinformation nachhält. Wir unterscheiden Exemplarattribute oder -variablen, die den Zustand eines einzelnen Attributs erfassen, und Klassenattribute oder -variablen, die Zustandsinformation aufbewahren, die für alle Objekte einer Klasse sichtbar sind. Jedes aus einer Klasse erzeugte Objekt besitzt eigene Kopien der in der Klasse vereinbarten Exemplarattribute, die im Allgemeinen bei verschiedenen Objekten einer Klasse mit unterschiedlicher Werten belegt sind. Klassenattribute gehören zur Klasse und existieren genau einmal. Sie können von den Objekten der Klasse für die Verwaltung gemeinsamer Daten benutzt werden. Jedes Attribut besitzt einen bestimmten Typ und einen Bezeichner, der innerhalb der Klasse eindeutig ist. Für ein Attribut kann in der Klasse ein Initialwert vereinbart werden, den das jeweilige Attribut bei der Erzeugung eines Objekts dieser Klasse annimmt.

Aufrufparameter

Aufrufparameter (engl. invoking parameter) ermöglichen es, Daten vom Sender einer Botschaft zum Empfänger der Botschaft über die aufgerufene Methode des Empfängers zu transportieren (s.a. Argument).

Automatische Speicherverwaltung

Automatische Speicherverwaltung (engl. automatic garbage collection) bedeutet, dass zur Laufzeit eines Programms Objekte ermittelt werden, die nicht mehr benötigt werden. Die für sie reservierten Speicherbereiche können deshalb frei gegeben werden. Eine Lösung, bei der - wie z.B. bei C++ - der von Objekten beanspruchte Speicherplatz durch den Programmierer verwaltet wird, ist dagegen sehr fehleranfällig. Nahezu die Hälfte aller Programmfehler in C++ lassen sich auf Fehler in der Speicherverwaltung zurückführen.

AWT

Das Abstract Window Toolkit (AWT) des Java-Systems besteht aus einer Sammlung von Komponenten zur Gestaltung grafischer Benutzerschnittstellen (GUI, engl. graphical user interface). Diese Komponenten wurden mit Hilfe rechnerspezifischer Grundkomponenten implementiert. Die Komponenten fassen Funktionen zusammen, die gängigen Rechner- und Betriebssystemtypen (Sun Solaris, Linux, Windows, Mac OS) gemeinsam sind.

Das neuere Swing-Paket von Java ersetzt und erweitert die AWT-Komponenten.

Botschaft

In einem objektorientierten Programm wird eine Methode durch die Übermittlung einer Botschaft (engl. message) an das Objekt, das die Methode implementiert, aktiviert. Die Botschaft benennt die Methode, die ausgeführt werden soll, und die für die Ausführung der Methode notwendigen Argumente.

Austausch von Botschaften

Der Austausch von Botschaften (engl. message exchange) bezeichnet einen Kommunikationsvorgang, bei dem eine Verarbeitungseinheit die Kopie eines Auszugs ihrer lokalen Daten als Botschaft an eine empfangende Verarbeitungseinheit versendet. Der Kommunikationsvorgang erfolgt ggf. über ein Kommunikationsnetz, falls die Verarbeitungseinheiten verteilt sind.

Bündelung

Bündelung (engl. bundling) bezeichnet den Vorgang der Zusammenfassung einer Menge von Methoden mit den Daten, auf denen die Methoden arbeiten.

Bytecode

Bytecode ist ein maschinenunabhängiger Programmcode, der von jedem Java-Übersetzer erzeugt und von einem Java-Interpreter, i.d.R. der Java virtuellen Maschine, ausgeführt wird.

C

C ist eine Systemprogrammiersprache, die im Jahr 1972 erschien und u.a. im Kontext des Betriebssystems Unix eine weite Verbreitung erfuhr.

Cobol

Die Programmiersprache Cobol, die im Jahr 1960 erschien, ist nach Fortran und mit Algol 60 die zweitälteste höhere Programmiersprache und wurde v.a. für die Programmierung kaufmännischer DV-Anwendungen entwickelt (z.B. Gehaltsabrechnungsprogramme). Cobol 60 führte Dateien und Datenbeschreibungen ein und lehnte sich in seiner Syntax stark an natürliche Sprachen an. Cobol war viele Jahre lang die am häufigsten gebrauchte Sprache und ist auch heute noch in vielen langlebigen Anwendungen zu finden.

C++

C++ ist eine Programmiersprache, die 1984 erschien und objektorientierte Sprachkonzepte auf die Sprache C aufsetzte.

Datenabstraktion

Datenabstraktion (engl. data abstraction) bedeutet, dass nur die auf ein Objekt anwendbaren Operationen nach außen sichtbar gemacht werden, die Implementierung dieser Operationen dagegen verborgen bleibt.

Datenstrom

Ein Datenstrom ist eine Verbindung zwischen einer Datenquelle und einer Datensenke.

Datenstruktur

Eine Datenstruktur (engl. data structure) beschreibt die Art und Weise, wie Daten aus anderen Daten zusammengesetzt sind. Bekannte Datenstrukturen beinhalten Liste, Stapel, Reihe, Baum oder Graph.

Deklaration

Eine Vereinbarung oder Deklaration (engl. declaration) ist eine Anweisung, die einen Namen und bestimmte Eigenschaften, wie etwa einen Typ, mit diesem Namen verknüpft.

Eiffel

Eiffel ist eine objektorientierte Programmiersprache, die im Jahr 1988 von Bertrand Meyer veröffentlicht wurde und die darauf abzielte, den Programmierprozess zu systematisieren und entlang softwaretechnischer Prinzipien zu organisieren.

Einfachvererbung

Bei der Einfachvererbung (engl. simple inheritance) besitzt jede Klasse höchstens eine direkte Oberklasse.

Einkapselung

Einkapselung (engl. encapsulation) bezeichnet ein wichtiges Prinzip beim Programmentwurf. Es unterstützt die Modularität von Programmen und vereinfacht deren Pflege und Weiterentwicklung. Einkapselung wird ermöglicht durch zwei untergeordnete Konzepte: Bündelung und Geheimnisprinzip. Letzteres sorgt dafür, dass der Anwender eines Objekts nichts weiter als die Signatur und den Ergebnistyp der öffentlichen Methoden einer Klasse kennen muss, um ein Objekt der Klasse benutzen zu können. Die Darstellung seiner Daten und die Implementierung seiner Methoden bleiben verborgen.

enthält-Beziehung

Die enthält-Beziehung (engl. include) zwischen zwei Anwendungsfällen - im Sinne A schließt B ein, geschrieben A->B - bedeutet, dass der Anwendungsfall A den Anwendungsfall B umfasst.

erweitert-Beziehung

Eine erweitert-Beziehung (engl. extend) zwischen zwei Anwendungsfällen, sagen wir A und B, bedeutet, dass ein Exemplar des Anwendungsfalls B das Verhalten, das für Anwendungsfall A angegeben ist, einschließen kann.

Exemplar

Ein Exemplar (engl. instance) ist eine Ausprägung einer Klasse, also ein Objekt. In Java-Programmen wird ein Exemplar der Klasse mit Hilfe des Operators new, gefolgt von einem der Konstruktoren der Klasse, erzeugt.

Exemplarattribut

Exemplarattribute (engl. instance variable) dienen dazu, die Eigenschaften und den Zustand der Exemplare einer Klasse nachzuhalten. Ein Exemplarattribut hat den in der Klassendefinition vereinbarten Namen und Typ. Der Name ermöglicht den abfragenden oder verändernden Zugriff auf den Wert eines Exemplarattributs. Die Werte von Exemplarattributen können während der Lebenszeit eines Objekts verändert werden.

Feld

Ein Feld (engl. array) ist eine Aneinanderreihung von gleichartigen Elementen, auf dessen Komponenten mittels eines Indexes zugegriffen werden kann. Felder sind Objekte in Java.

Fortran

Die Sprache Fortran ist eine imperative Programmiersprache für naturwissenschaftliche und Ingenieuranwendungen und wurde Ende der 50er Jahre entwickelt. Die Intention war, dass in dieser Sprache implementierte Programme möglichst schnell abgearbeitet werden sollten, was u.a. durch einen einfachen Aufbau und geringe Strukturierungsmöglichkeiten erreicht wurde. Fortran ist auf den meisten Computern so implementiert, dass die Programme sehr effizient ausgeführt werden können.

Geheimnisprinzip

Das Geheimnisprinzip (engl. information hiding) bedeutet, dass Eigenschaften und die Implementierung einer Betrachtungseinheit von außen nicht sichtbar sind. Zustandsveränderungen oder Abfragen über den Zustand der Betrachtungseinheit können nur mittels einer wohldefinierten Schnittstelle, die die Gesamtheit der sichtbaren Operationen und ggf. Datentypen angibt, erfolgen.

Generalisierung

Generalisierung (engl. generalization) bezeichnet den Vorgang der Festlegung einer Klasse A, in der gemeinsame Eigenschaften und Fähigkeiten anderer Klassen B1, B2, ... in A zusammengefasst werden. Die Klassen B1, B2, ... werden dabei zu Unterklassen von A gemacht .

Glossar

Ein Glossar (engl. glossary) bestimmt die Begriffe der jeweiligen Fachsprache.

Grammatik

Eine Grammatik (engl. grammar) ist die Festlegung der Syntax einer Sprache und besteht aus einer Menge von Regeln, die bestimmen, welche Folgen von Zeichen zu einer Sprache gehören und welche nicht.

GUI

Eine grafische Benutzerschnittstelle (engl. graphical user interface) bezeichnet grafische Darstellungstechniken sowie Eingabemedien wie Tastatur, Maus oder Tablett, die einfach zu bedienende Mensch-Maschineschnittstellen ermöglichen.

Höhere Programmiersprache

Höhere Programmiersprachen (engl. high level programming language) unterscheiden sich von maschinennahen Sprachen dadurch, dass sie von der Hardware unabhängig sind und anwendungsnahe Sprachmittel anbieten. Höhere Sprachen können mittels Interpretern ausgeführt werden und werden meistens durch Übersetzer in niedere Sprachen übersetzt.

Identität

Die Identität (engl. identity) oder der Name (engl. name) eines Objekts unterscheidet es eindeutig von allen anderen Objekten, die in der gleichen Objektwelt existieren.

Implementierung

Der Begriff Implementierung (engl. implementation) bezeichnet die Formulierung eines vorgegebenen Algorithmus' zum Zweck der Ausführung auf einem Rechner.

Instantiierung

Instantiierung (engl. instantiation) beschreibt die Erzeugung eines Exemplars (s.a. Instanz) einer Klasse.

Instanz

Der Begriff Instanz wird häufig als Synonym für Objekt gebraucht und entstand wohl aus der falschen Übersetzung des englischen Worts instance, das soviel wie Exemplar bedeutet.

Instanzvariable

siehe Exemplarattribut.

Interaktives Programm

Ein interaktives Programm (engl. interactive program) zeichnet sich dadurch aus, dass es mit dem Benutzer interagiert, d.h. kontinuierlich auf Eingaben und Stimulationen durch den Benutzer reagiert.

Interpreter

Ein Interpreter (engl. interpreter) ist ein Programmsystem, das die Ausdrücke einer Programmiersprache in eine maschinennahe Sprache umsetzt und unmittelbar ausführt.

Invariante

Eine Invariante ist eine Aussage, die vor Eintritt in die Ausführung einer Operation, einer Methode oder eines Algorithmus wahr ist und nach jedem Schritt der Operation (der Methode oder des Algorithmus) wieder wahr ist.

Java

Java ist eine objektorientierte Programmiersprache, die aufgrund der virtuellen Java-Maschine (JVM) gegenüber anderen Programmiersprachen den Vorteil besitzt, dass jedes korrekt übersetzte Java-Programm auf jedem Computer, für den es eine JVM gibt, ausgeführt werden kann.

Java-Anwendung

Eine Java-Anwendung (engl. Java application) ist ein Java-Programm, das wie andere Programme innerhalb des Betriebsystems Ihres Rechners abläuft.

Java-Applet

Ein Java-Applet ist ein kleines Java-Programm, das im Allgemeinen von einem entfernten Server geladen wird und im Web-Browser oder Applet-Viewer der Klientin abläuft. Jedes Applet unterliegt hohen Sicherheitsbeschränkungen, die verhindern, dass z.B. Dateien auf dem Gastrechner gelesen oder gar gelöscht werden.

JDK

Das Java Development Kit (JDK) ist ein Paket notwendiger Basisprogramme, um Java-Anwendungen programmieren zu können. Es enthält den Compiler, den Interpreter (die „virtuelle Maschine“), die Klassenbibliotheken (APIs) nebst kompletter Beschreibung in HTML, viele kleine Demos usw.

JVM

Die virtuelle Maschine für Java (JVM, engl. Java virtual machine) umfasst sowohl die Spezifikation als auch die Implementierung eines virtuellen, d.h. durch ein Programmsystem realisierten Rechners, der auf allen gängigen Rechnerplattformen in gleicher Weise den Bytecode in Java-Klassendateien ausführt. Der von Übersetztern vieler anderer Programmiersprachen erzeugte Assembler- oder Maschinenkode kann i.d.R. nicht auf Rechnern anderer Art als der, auf dem das Programm übersetzt wurde, ausgeführt werden.

Klasse

Eine Klasse (engl. class) umfasst eine Gruppe oder Familie gleichartiger Objekte und bezeichnet einen Begriff aus dem Anwendungsbereich.

Klassenattribut

Ein Klassenattribut (engl. class attribute oder class variable) gehört nicht einem einzelnen Objekt, sondern einer Klasse und ist von der Existenz der Objekte unabhängig. Das Klassenattribut existiert nur einmal pro Klasse und wird bei der Ausführung der Klassenbeschreibung angelegt und mit einem passenden Standardwert belegt.

Klassenbeschreibung

Die Klassenbeschreibung definiert die gemeinsamen Attribute, Operationen und die gemeinsame Semantik für eine Anzahl gleichartiger Objekte. Alle Objekte einer Klasse entsprechen dieser Definition. In Java wird eine Klassenbeschreibung mit dem Schlüsselwort class und dem Namen der Klasse eingeleitet. Darauf folgen, eingefasst in geschweifte Klammern, die Methoden und Attribute, die zu der Klasse gehören. Die Reihenfolge von Attribut- und Methodenvereinbarungen ist hierbei beliebig

Klassenbibliothek

Eine Klassenbibliothek (engl. class library) ist eine strukturierte Ansammlung von Klassen.

Klassendefinition

siehe Klassenbeschreibung.

Klassendiagramm

Ein Klassendiagramm (engl. class diagram) dient zur grafischen Darstellung von Klassen, ihren Vererbungsbeziehungen und Assoziationen mit anderen Klassen.

Klassenhierarchie

Von einer Klasse A können Klassen abgeleitet werden, die die Klasse A verfeinern und die Funktionalität und Attribute der Klasse A erben. Ausgehend von einer Ursprungsklasse ergibt sich somit eine Klassenhierarchie (engl. class hierarchy), die sich leicht durch eine Baumstruktur darstellen lässt.

Klassenoperation

Klassenoperation (engl. class operation) oder Klassenmethoden (engl. class methods) sind Operationen bzw. Methoden, die nicht auf den Attributen eines Objekts, sondern auf den Klassenattributen einer Klasse operieren.

Klassenvariable

siehe Klassenattribut

kommuniziert-Beziehung

Die kommuniziert-Beziehung (engl. communicate) zwischen einem Akteur und einem Anwendungsfall bezeichnet die Teilnahme eines Akteurs an einem Anwendungsfall. Es gibt keine anderen Beziehungen zwischen Akteuren und Anwendungsfällen.

Komplexes Objekt

Ein komplexes Objekt (engl. complex object) ist ein Objekt, dessen Attribute selbst wieder Objekte sind.

Komponente

Eine Komponente (engl. component) ist ein abgrenzbares Programmpaket mit definierten Schnittstellen und eigener Identität.

Konstruktor

Konstruktoren (engl. constructor) sind ausgezeichnete Methoden zur Erzeugung und Erstbelegung von Objekten mit Attributwerten. Konstruktoren tragen immer den Namen der Klasse, der sie angehören.

Kontrollfluss

Der Kontrollfluss (engl. control flow) eines Programms bestimmt die Reihenfolge der Ausführung der einzelnen Anweisungen des Programms.

Maschinensprache

Die Maschinensprache (engl. machine language) ist die Programmiersprache eines Computers. Programme in dieser Sprache sind im Binärcode dargestellt, wodurch sie direkt vom Prozessor ausgeführt werden können, jedoch für Menschen kaum verständlich sind. Zur Behebung dieses Mankos werden diese hardwarenahen Programme nicht in der Maschinensprache, sondern in einer Assembler-Sprache geschrieben.

Mehrfachvererbung

Im Falle der Mehrfachvererbung (engl. multiple inheritance) kann eine Klasse mehrere direkte Oberklassen besitzen.

Methode

In manchen objektorientierten Programmiersprachen werden die Operationen als Methoden (engl. methods) bezeichnet. Methoden implementieren Operationen, die eine bestimmte Funktion ausführen oder einen Dienst erbringen.

mnemonisch

Mnemonische Zeichen sind leicht zu merken, legen Assoziationen mit bestimmten Begriffen nahe und erleichtern Rückschlüsse auf die Bedeutung des Bezeichneten.

Modell des Anwendungsbereichs

Das Modell des Anwendungsbereichs (engl. model of the application domain) orientiert sich an den Aufgaben und Verantwortlichkeiten des Anwendungsbereichs sowie den zur Erfüllung der Aufgaben relevanten Gegenständen und Verarbeitungsfunktionen.

Modula

Die Sprache Modula, genauer MODULA-2, baut auf PASCAL auf und ist ebenfalls eine imperative Programmiersprache. Das besondere an dieser Programmiersprache ist das sog. Modul-Konzept: Jedes Modula-2-Programm ist ein Modul, welches wiederum aus anderen Modulen besteht und mit Hilfe dieser Module seine Funktionalität erbringt. Ein Modul ist eine Zusammenfassung von Konstanten, Datentypen, Variablen und Prozeduren zu einer Einheit. Soll ein Modul an einer anderen Stelle des Programms oder in einem anderen Modul benutzt werden, so muss angegeben werden, welche Teile dieses Moduls von aussen sichtbar sein sollen und welche nicht. Dabei bleibt aber die konkrete Realisierung der Datentypen und Prozedurrümpfe grundsätzlich vor allen anderen Modulen verborgen.

Nachbedingung

Eine Nachbedingung bezeichnet Eigenschaften, die nach der Ausführung einer Operation oder einer Methode gelten, wenn diese terminiert und falls die zugehörige Vorbedingung vor der Ausführung der Operation oder Methode galt.

Nachricht

siehe Botschaft

nebenläufig

Zwei Aktivitäten oder Prozesse, die kausal voneinander unabhängig ausgeführt werden können, werden nebenläufig (engl. concurrent) genannt. Aufgrund der Unabhängigkeit kann sowohl zuerst der eine Prozess, dann der andere als auch umgekehrt ausgeführt werden, beide Prozesse können aber auch zeitlich überlappend ausgeführt werden.

new

Der new-Operator in Java dient dazu, Objekte oder Felder zur Laufzeit eines Programms zu erzeugen. Der Ausdruck new Robot ( ) bewirkte z.B. die Erzeugung eines Objekts der Klasse Robot, während der Ausdruck new Schachbrett[ ][ ] ein zweidimensionales Feld erzeugte.

Oberklasse

Jede Klasse, die Eigenschaften und Verhalten an eine andere Klasse vererbt, heißt Oberklasse (engl. superclass) dieser Klasse.

Objekt

Im täglichen Sprachgebrauch bezeichnen wir mit dem Wort Objekt einen Gegenstand des Interesses, der Beobachtung, der Veränderung, der Untersuchung oder der Messung. Im engeren, programmiersprachlichen Sinn besitzt ein Objekt einen Zustand (repräsentiert durch Beziehungen und Attribute), es reagiert mit einem definierten Verhalten (durch die Ausführung von Operationen) auf seine Umgebung, und es ist ein bestimmtes Exemplar seiner Klasse. Das Verhalten gilt für alle Objekte einer Klasse gleichermaßen, jedoch besitzt jedes Objekt eine eigene Identität, die es von anderen Objekten unterscheidet.

Objektdiagramm

Ein Objektdiagramm (engl. object diagram) ist eine grafische Darstellung der Beziehungen zwischen Objekten zu einem bestimmten Zeitpunkt.

Objektorientiertes Programm

Ein objektorientiertes Programm (engl. object-oriented program) besteht aus einer Menge kooperierender funktionaler Einheiten, die wir Objekte nennen. Jedes Objekt spielt in diesem Verbund eine bestimmte Rolle. Es bietet Dienste an oder führt Aktionen aus, die von anderen Mitgliedern des Verbunds genutzt werden.

Operation

Eine Operation (engl. operation) ist eine Verarbeitungsmethode, die Zugriff auf die Attribute eines Objekts oder einer Klasse hat. (Synonym zu Methode.)

Paket

Ein Paket (engl. package) in Java ist die Zusammenfassung mehrerer Klassen beliebigen Typs zu einer Gruppe, um die Systemstruktur auf einer höheren Abstraktionsebene darstellen zu können. Pakete können selbst wieder Pakete enthalten.

Paradigma

Ein Paradigma (engl. paradigm) erläutert die wesentlichen Bestandteile eines Computerprogramms, wie sie organisiert sind und welche Beziehungen zwischen ihnen bestehen.

Pascal

Die Programmiersprache Pascal wurde 1972 von Niklaus Wirth entwickelt und ist nach dem französischen Mathematiker Blaise Pascal (1623-1662) benannt. Pascal ist eine Weiterentwicklung von ALGOL 60 und zeichnet sich besonders durch ihr Datentypenkonzept aus. Sie kann leicht erlernt und aufgrund effizienter Übersetzer auf nahezu allen Rechnerplattformen in vielen Anwendungsbereichen eingesetzt werden.

Persistenz

Persistenz (engl. persistence) bezeichnet die Fähigkeit eines Objekts, über die Laufzeit eines Programms hinweg zu existieren. Ein persistentes Objekt steht nach dem Neustart des Programms wieder zur Verfügung.

Plugin

Plugins sind kleine Programme oder Programmteile, die die Funktionalität einer Software vergrößern. Browser-Plugins werden häufig für multimediale Anwendungen im WWW benötigt.

Programm

Ein Programm (engl. program) ist eine konkrete Formulierung eines Algorithmus' unter Verwendung der Ausdrücke einer Programmiersprache. Es ermöglicht die Ausführung eines Algorithmus' auf einem Computer.

Programmieren

Die Tätigkeit des Programmierens (engl. programming) besteht aus dem Entwerfen oder Finden eines Algorithmus' zu einem gegebenen Problem und seiner anschließenden Implementierung.

Prozedur

Prozeduren (engl. procedure) sind zentrale Konzepte imperativer Programmiersprachen. Hierdurch kann jede als Programm formulierte Vorschrift zu einer elementaren Anweisung in einem anderen Programm werden. Darüber hinaus dienen Prozeduren der Zerlegung und Strukturierung umfangreicher Programme, und sie erlauben die Verwendung rekursiver Techniken.

Eine Prozedur besteht aus einem Schlüsselwort gefolgt von einem Bezeichner (Name der Prozedur), aus einer Liste von formalen Parametern, aus einer Folge von Deklarationen und aus einer Folge von Anweisungen.

Jede Programmiersprache besitzt ein eigenes Schema für die Definition von Prozeduren.

Prozedurale Programmierung

Bei der prozeduralen Programmierung (engl. procedural programming) orientiert man sich beim Entwurf eines Programms an den Prozeduren, die beschreiben, wie bestimmte Aufgaben ausgeführt werden. Diese Prozeduren tauschen untereinander Datenstrukturen aus und verändern ihnen gemeinsame globale Datenstrukturen. Sobald auf Grund veränderter Anforderungen neue Datenstrukturen eingeführt werden, müssen neue Prozeduren implementiert werden, die auf diesen Datenstrukturen operieren. Dies schränkt die Erweiterbarkeit prozeduraler Programme wegen der Notwendigkeit, Änderungen über das gesamte Programm hinweg nachzuvollziehen, erheblich ein.

Schnittstelle

Eine Schnittstelle (engl. interface) in Java besteht aus den Signaturen der Methoden, die eine Klasse mit diesen anbietet.

Semantik

Die Semantik (griech. semantikos= bezeichnend, engl. semantics) ist ein Teilgebiet der Linguistik, das sich mit der Bedeutung sprachlicher Ausdrücke befasst.

Sequenzdiagramm

Ein Sequenzdiagramm (engl. sequence diagram) beschreibt die Interaktionen zwischen mehreren Objekten in einem bestimmten Kontext unter Verdeutlichung des zeitlichen Ablaufs. In einem einzelnen Sequenzdiagramm können alternative Abläufe nicht gut dagestellt werden.

Sichtbarkeit

Die Sichtbarkeit (engl. visibility) von Namen bestimmt die Möglichkeit des Zugriffs auf Datentypen, Attribute und Methoden.

Signatur

Die Signatur (engl. signature) einer Methode besteht aus ihrem Namen sowie der Anzahl und den Typen ihrer Parameter.

Simula

Simula wurde 1967 aus der Sprache ALGOL 60 entwickelt. Simula bietet spezielle Möglichkeiten zur Ausführung von Simulationen (der Name leitet sich von „Simulation Language“ ab) und besitzt bereits Datenstrukturen wie Referenzen und Klassen. Da Simula auch ein Modul- und Vererbungskonzept bietet, gilt diese Sprache als Vorläufer der objektorientierten Programmierung.

Smalltalk

Die Sprache Smalltalk und der Nachfolger Smalltalk-80 gehören ebenfalls zur Gruppe der objektorientierten Programmiersprachen. Das besondere daran ist, das Smalltalk gleichzeitig eine vollständige Programmierumgebung ist, bei der viel Wert auf ein einheitliches und benutzungsfreundliches Erscheinungsbild gelegt wurde. Die Benutzerin braucht sich nicht in die Betriebsmittel wie Editoren, Übersetzer oder Betriebssysteme einzuarbeiten, da sich unter Smalltalk-80 das gesamte Computersystem in einheitlicher Form darstellt, durch das die Benutzerin mit Menüs geführt wird. Dem Benutzer ist dabei immer nur ein spezielles Objekt, der Bildschirm, sichtbar. Eingaben erfolgen mit der Maus oder über die Tastatur.

Subklasse

Siehe Unterklasse

Superklasse

Siehe Oberklasse

Swing

Die Swing-Komponenten umfassen eine Sammlung von Komponenten zur Implementierung grafischer Benutzerschnittstellen. Die Komponenten stellen für alle gängigen Rechner- und Betriebssystemplattformen, welche die Java virtuelle Maschine (JVM) unterstützen, die gleiche Funktionalität in plattformspezifischer Gestaltung zur Verfügung. Die Komponenten sind selbst in Java implementiert und übersteigen damit in ihrer funktionellen Ausprägung die auf nativen Plattformfunktionen aufbauenden AWT-Komponenten.

Syntax

Syntax (griech. syntaxis=Zusammenstellung) bezeichnet die korrekte Verknüpfung von Wörtern zu Wortgruppen und Sätzen einer Sprache. Die Syntax einer Sprache wird durch eine endliche Menge von Regeln, die den Aufbau wohlgeformter Ausdrücke aus Grundelementen dieser Sprache festlegen, angegeben.

Szenario

Ein Szenario (engl. scenario) beschreibt eine aktuelle Arbeitssituation im Hinblick auf die Aufgaben im Anwendungsbereich. Es beschreibt ferner die Art und Weise, wie die jeweilige Aufgabe in einzelnen Verarbeitungsschritten auszuführen ist und die Bedingungen, unter denen dies zu erfolgen hat.

this

Das Schlüsselwort this bezeichnet im Rumpf einer Methode das gerade aktive Objekt.

Typ

Jedes Attribut und jeder Methodenparameter ist von einem bestimmten Typ (engl. type). Dies kann ein primitiver Datentyp (z.B. char), ein Aufzählungstyp, eine elementare Klasse oder eine Abstraktion sein. Methoden, deren Ergebnis nicht void ist, liefern ebenfalls ein Ergebnis eines bestimmten Typs.

Überschreiben

Mit Überschreiben (engl. overriding) bezeichnet man die erneute Implementierung einer ererbten Methode. Name, Anzahl und Typen der Parameter sowie der Ergebnistyp der Methode müssen dabei beibehalten werden.

Übersetzer

Ein Übersetzer (engl. compiler) ist ein Programm, das Ausdrücke einer bestimmten Programmiersprache, der Quellsprache, in gleichbedeutende Ausdrücke einer Zielsprache umsetzt.

UML

Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung verschiedener Aspekte von Softwaresystemen. Der Grundgedanke bei der UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete zu haben. Die UML erlaubt die Beschreibung von Datenbankanwendungen ebenso wie die Darstellung von Echtzeitsystemen und Workflow-Anwendungen.

Die UML bietet verschiedene Diagrammarten mit unterschiedlichen grafischen Elementen an, wobei jedes Element eine festgelegte Bedeutung besitzt.

In der UML sind mehrere Vorgängertechniken vereint: Die wichtigsten sind OOSE (Object-Oriented Software Engineering), OMT (Object Modeling Technique) und OOD (Object-Oriented Design). Die Entwickler dieser Methoden - Ivar Jacobson, James Rumbaugh bzw. Grady Booch - sind auch die Urheber der UML. Die UML kann durch so genannte „Stereotypen“ erweitert werden.

Unicode

Unicode ist ein 16-bit Zeichensatz, der im ISO-Standard 10646 festgelegt ist.

Unterklasse

Jede Klasse, die von einer anderen Klasse Eigenschaften und Verhalten erbt, wird Unterklasse (engl. subclass) dieser Klasse genannt.

Variable

Eine Variable (engl. variable) benennt einen Speicherort für einen Wert eines bestimmten Typs. Der Inhalt des Speicherorts - und damit Wert der Variablen - kann sich während der Programmlaufzeit beliebig verändern. Über den Namen der Variablen kann auf den Wert zugegriffen und dieser verändert werden.

Vererbung

Mit dem Begriff Vererbung (engl. inheritance) bezeichnet man die Weitergabe der in einer Klasse angegebenen Eigenschaften und Fähigkeiten an die Unterklassen dieser Klasse. Diese ''spezialisierten Klassen'' erweitern die Liste der Attribute, Methoden und Assoziationen der Oberklasse.

Verhalten

Das Verhalten (engl. behavior) eines Objekts umfasst die beobachtbaren Effekte aller Operationen, die auf ein Objekt angewendet werden können.

Verteilte Anwendung

Eine verteilte Anwendung (engl. distributed application) ist eine vollständige, in sich geschlossene Problemlösung für einen bestimmten Anwendungsbereich, wobei das Problem durch (räumlich) verteilte Prozesse, die auch auf unterschiedlichen Plattformen (Rechnertypen, Betriebssysteme) ablaufen können, bearbeitet wird.

Vorbedingung

Eine Vorbedingung bezeichnet Eigenschaften, die gelten müssen, wenn eine Operation oder eine Methode aufgerufen werden.

Zustand

Der Zustand (engl. state) eines Computers ergibt sich aus den Werten in den Registern, in Programmzählern, im Hauptspeicher und in Zwischenspeichern zu einem Zeitpunkt.
Der Zustand eines Programms wird bestimmt durch die Werte der Variablen und Datenstrukturen zu einem Zeitpunkt.
Der Zustands eines Objekts ergibt sich aus der Wertebelegung der Attribute eines Objekts zu einem bestimmten Zeitpunkt.

Zustandsdiagramm

Ein Zustandsdiagramm (engl. state diagram) ist eine grafische Darstellung der Zustände, die ein Objekt im Laufe seines Lebens einnehmen kann sowie der möglichen Zustandsübergänge und die Bedingungen, unter denen solche Übergänge stattfinden.