Information Technology Reference
In-Depth Information
Datenstruktur (Attribute) und die Methoden von der verer-
benden Klasse.
Bei diesen Charakteristika handelt es sich um eine Weiter-
entwicklung von Eigenschaften und Effekten, die durch die
Einführung von Blockstrukturen und der Möglichkeit, diese
zu schachteln, erstmalig in ALGOL 60 aufgetreten sind.
So waren beim Blockkonzept von ALGOL die Deklara-
tionen innerhalb eines Blocks - Variablen mit ihren Daten-
strukturen (Attribute), Methoden (Prozeduren, Funktionen)
- nur innerhalb dieses Blocks, und damit auch in seinen
Unterblöcken, gültig (sichtbar). Beim Verlassen des Blocks
waren sie nicht mehr gültig. Damit war eine einfache Form
der Kapselung gegeben. Da durch die Blockschachtelung
alle Deklarationen des übergeordneten Blocks auch in al-
len untergeordneten Blöcken gültig waren, konnten sie dort
verwendet werden. Damit war ein Vererbungskonzept rea-
lisiert. Variablen mit ihren Datenstrukturen und Methoden
konnten in untergeordneten Blöcken auch abgeändert wer-
den, in dem sie unter gleichem Namen abweichend dekla-
riert wurden.
Auch ein Botschaftskonzept war in ALGOL bereits re-
alisiert. So bewirkte de facto ein Funktionsaufruf, dass an
eine andere Methode die Botschaft gesandt wurde, eine Be-
rechnung auszuführen und dieses Ergebnis an die Stelle des
Aufrufs zurückzusenden.
Das ALGOL-Programmfragment
Codestelle p (a, 3.14) zurückzusenden. Dadurch kann der
Wert von a an dieser Stelle zu 4 berechnet werden.
Die objektorientierte Programmierung stellt damit eine
Weiterentwicklung vieler erstmalig in ALGOL realisierter
Konzepte dar, wobei zum Teil neue Namen für die bestehen-
den Konzepte benutzt wurden. Man kann daher ALGOL 60
als den Großvater aller objektorientierten Sprachen ansehen.
Die oft geäußerte Ansicht, dass die objektorientierte Program-
mierung ein vollständig neues Programmierparadigma sei, ist
somit nicht zutreffend. Dies zeigt auch die Entwicklungsge-
schichte derjenigen Sprache, die als die erste objektorientierte
Sprache angesehen wird, die Sprache SIMULA.
SIMULA Als erste objektorientierte Programmiersprache gilt
SIMULA. Die Sprache wurde von Ole-Johan Dahl und Kris-
ten Nygaard ( Abb. 2.22 ) in den 1960er-Jahren am Norsk Reg-
nesentral (Norwegisches Rechenzentrum) an der Universität
Oslo entwickelt, um Simulationen von z. B. physikalischen
Prozessen am Rechner durchführen zu können.
function f ( x : integer, y : real);
begin
var a : integer;
function p ( x : integer, y : real);
begin
function t ( x : integer, y : real);
begin
var a : char;
end ;
……
p := a + 2
end ;
a := 1;
a := a + p ( a , 3.14)
end ;
Abb. 2.22 Kristen Nygaard und Ole-Johan Dahl
Ole-Johan Dahl wurde am 12. Oktober 1931 in Mandal,
Norwegen, als ältester Sohn einer Seefahrerfamilie geboren.
Er studierte ab 1949 an der Universität Oslo Mathematik.
Während des Studiums leistete er seinen Militärdienst am
Forsvarets forskningsinstitutt (FFI, Forschungsinstitut der
norwegischen Streitkräfte) ab, wo er unter Jan V. Garwick
und dessen Assistent Kristen Nygaard an der Programmie-
rung von Militärrechnern arbeitete. Hier entwickelte er sei-
nen ersten Entwurf für eine höhere Programmiersprache. Es
war die Sprache MAC (Mercury Automatic Coding), die für
den Ferranti Mercury-Rechner bestimmt war. Im Jahre 1957
legte er seine Abschlussarbeit zum Candidatus realium über
die Repräsentation und Manipulation von mehrdimensiona-
len Feldern ( arrays ) vor: Multiple Index Countings on the
Ferranti Mercury Computer . Anschließend nahm er am FFI
zeigt diese Effekte.
Die tiefer geschachtelte (untergeordnete) Funktion p hat
die Variable a von der Funktion f geerbt und kann sie ver-
wenden. In der noch tiefer geschachtelten Funktion t wurde
die Eigenschaft der Variablen a geändert, sie ist nun vom Typ
„char“. Nach dem Erreichen des Funktionsendes (das nächste
end“ ) der Funktion t besitzt die Variable a wieder ihre alte
Eigenschaft.
Der Funktionsaufruf p (a, 3.14) bewirkt, dass die Funk-
tion p gerufen wird, um mit den Argumenten a und 3.14 eine
Berechnung (Aktion) durchzuführen und das Ergebnis an die
 
 
 
Search WWH ::




Custom Search