Post on 21-Nov-2015
Informatik I - Tutorium Wintersemester 2007/08
Christian Jlg
http://infotut.blogspot.com
14. Januar 2008
Universitt Karlsruhe (TH)Forschungsuniversitt gegrndet 1825
Quellennachweis & Dank an:Philipp Kern, Bernhard Mller, Jrgen Czerny
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
bersicht
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wenn doch noch Fragen auftauchen...
KontaktKontakt: info1-tutor@gmx.de
Homepage: http://infotut.blogspot.com
bitte beachten:Im Betreff der Emails [08] einfgen!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Schein & IPK
Wer momentan mehr als 270 Theorie-Punkte und mehr als100 der Praxis-Punkte hat, hat sehr wahrscheinlich dienotwendige Hlfte der Punkte.Nicht dass ich euch von etwas abhalten wollte ;)Die inoffizielle Probeklausur (IPK) findet am 19.01.2008 statt.Informationen und Anmeldung:http://anmeldungIPK.webhop.netBitte Samstag pnktlich sein (= bis 13 Uhr da sein).Vergesst nicht die 3 - Wochen - Regel.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Organisatorisches
Rechnerbung
Nchste normale R mit Anmeldung am Di, 15.01. im RZ, Pool B- aber nur wenn es Anmeldungen gibt. Anmeldung per Email oderdirekt im Tut.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
bungsblatt 8
Kurzer Rckblick...
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
bungsblatt 8
Kurzer Rckblick...
Fragen?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Und nochmal...
Der Regulre Ausdruck abca ...1 ... beschreibt eine CH-3 Sprache.2 ... beschreibt die Sprache L1 = {abncna|n N0}3 ... beschreibt eine endliche Sprache.
Gegeben G2 = ({a, b}, {A,B}, {A Ab|Ba|a,B Aa|b},A).L(G2) ...
1 ... enthlt unendlich viele Elemente.2 ... kann nicht durch eine EBNF beschrieben werden.3 ... wird von einem endlichen Akzeptoren A2 akzeptiert.
Ein Akzeptor, bei dem der Startzustand auch Endzustand ist ...1 ... akzeptiert alle Worte .2 ... akzeptiert alle Worte .3 ... akzeptiert immer auch das leere Worte .
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Und nochmal...
Der Regulre Ausdruck abca ...1 ... beschreibt eine CH-3 Sprache.2 ... beschreibt die Sprache L1 = {abncna|n N0}3 ... beschreibt eine endliche Sprache.
Gegeben G2 = ({a, b}, {A,B}, {A Ab|Ba|a,B Aa|b},A).L(G2) ...
1 ... enthlt unendlich viele Elemente.2 ... kann nicht durch eine EBNF beschrieben werden.3 ... wird von einem endlichen Akzeptoren A2 akzeptiert.
Ein Akzeptor, bei dem der Startzustand auch Endzustand ist ...1 ... akzeptiert alle Worte .2 ... akzeptiert alle Worte .3 ... akzeptiert immer auch das leere Worte .
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Und nochmal...
Der Regulre Ausdruck abca ...1 ... beschreibt eine CH-3 Sprache.2 ... beschreibt die Sprache L1 = {abncna|n N0}3 ... beschreibt eine endliche Sprache.
Gegeben G2 = ({a, b}, {A,B}, {A Ab|Ba|a,B Aa|b},A).L(G2) ...
1 ... enthlt unendlich viele Elemente.2 ... kann nicht durch eine EBNF beschrieben werden.3 ... wird von einem endlichen Akzeptoren A2 akzeptiert.
Ein Akzeptor, bei dem der Startzustand auch Endzustand ist ...1 ... akzeptiert alle Worte .2 ... akzeptiert alle Worte .3 ... akzeptiert immer auch das leere Worte .
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Und nochmal...
Der Regulre Ausdruck abca ...1 ... beschreibt eine CH-3 Sprache.2 ... beschreibt die Sprache L1 = {abncna|n N0}3 ... beschreibt eine endliche Sprache.
Gegeben G2 = ({a, b}, {A,B}, {A Ab|Ba|a,B Aa|b},A).L(G2) ...
1 ... enthlt unendlich viele Elemente.2 ... kann nicht durch eine EBNF beschrieben werden.3 ... wird von einem endlichen Akzeptoren A2 akzeptiert.
Ein Akzeptor, bei dem der Startzustand auch Endzustand ist ...1 ... akzeptiert alle Worte .2 ... akzeptiert alle Worte .3 ... akzeptiert immer auch das leere Worte .
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Bei Regelanwendungen von Semi-Thue-Systemen. . .1 . . . arbeitet man mit .2 . . . benutzt man die gleiche Syntax wie bei Ableitungen von
Markov-Algorithmen.3 . . . werden die verwendeten Regeln in einer bestimmten
Reihenfolge angewendet.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Bei Regelanwendungen von Semi-Thue-Systemen. . .1 . . . arbeitet man mit .2 . . . benutzt man die gleiche Syntax wie bei Ableitungen von
Markov-Algorithmen.3 . . . werden die verwendeten Regeln in einer bestimmten
Reihenfolge angewendet.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Boolsche Normalformen
GenerellesIn jedem Teilterm eines Terms in Normalform mssen alle Variablengenau einmal vorkommen, entweder in nichtnegierter odernegierter Form. Alles andere ist keine Normalform. Die Teiltermemssen auerdem alle unterschiedlich sein.
Disjunktive NormalformDisjunktive Verknpfung von MintermenBeispiele mit a, b, c als bekannte Variablen:
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Boolsche Normalformen
GenerellesIn jedem Teilterm eines Terms in Normalform mssen alle Variablengenau einmal vorkommen, entweder in nichtnegierter odernegierter Form. Alles andere ist keine Normalform. Die Teiltermemssen auerdem alle unterschiedlich sein.
Disjunktive NormalformDisjunktive Verknpfung von MintermenBeispiele mit a, b, c als bekannte Variablen:
$a b c ist in DNF.(a b $c) (a b c) ist auch in DNF.a b ist nicht in Normalform.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Boolsche Normalformen
GenerellesIn jedem Teilterm eines Terms in Normalform mssen alle Variablengenau einmal vorkommen, entweder in nichtnegierter odernegierter Form. Alles andere ist keine Normalform. Die Teiltermemssen auerdem alle unterschiedlich sein.
Konjunktive NormalformKonjunktive Verknfung von Maxtermen
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Boolsche Normalformen
GenerellesIn jedem Teilterm eines Terms in Normalform mssen alle Variablengenau einmal vorkommen, entweder in nichtnegierter odernegierter Form. Alles andere ist keine Normalform. Die Teiltermemssen auerdem alle unterschiedlich sein.
Konjunktive NormalformKonjunktive Verknfung von Maxtermen
$a b c ist in KNF.(a b) (a c) ist nicht in Normalform.($a b c) (a $b c) ist in KNF.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Grundlagen I
Was ist ein Prozess?Ein Prozess ist ein Programm und seine Daten, dass sich imHauptspeicher befindet und vom Prozessor ausgefhrt werden kann.
Welchen Status kann ein Prozess besitzen?New Der Prozess wurde erstellt und bentigt noch
Resourcen (Daten, freien Speicher, etc.)Ready Der Prozess ist zur Ausfhrung bereit.
Running Der Prozess wird gerade ausgefhrt.Waiting/Blocked Der Prozess wartet auf ein Ereignis (z.B. Daten,
Adressen von Zwischenergebnisse, etc.)Terminated Der Prozess ist beendet, das Programm also
ausgefhrt. Er befindet sich noch im Hauptspeicher.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Grundlagen I
Was ist ein Prozess?Ein Prozess ist ein Programm und seine Daten, dass sich imHauptspeicher befindet und vom Prozessor ausgefhrt werden kann.
Welchen Status kann ein Prozess besitzen?New Der Prozess wurde erstellt und bentigt noch
Resourcen (Daten, freien Speicher, etc.)Ready Der Prozess ist zur Ausfhrung bereit.
Running Der Prozess wird gerade ausgefhrt.Waiting/Blocked Der Prozess wartet auf ein Ereignis (z.B. Daten,
Adressen von Zwischenergebnisse, etc.)Terminated Der Prozess ist beendet, das Programm also
ausgefhrt. Er befindet sich noch im Hauptspeicher.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Grundlagen II
Da auch zeitkritische Anwendungen oft mehrere Prozesse nutzen,musste man sich Gedanken machen wie man die Rechenzeit desProzessors gerecht verteilt, damit z.B. wichtige Prozesse nichtnach weniger wichtigen Prozessen ausgefhrt werden bzw. einzeitintensiver Prozess einen anderen unntig lang warten lsst.
Welche Strategien gibt es?First Come, First ServedDieses Auswahlverfahren ist mit einer FIFO-Warteschlange zuvergleichen, bei der jeder ankommende Prozess ganz gleich seinerDauer oder Wichtigkeit an die letzte Position der Warteschlangegestellt wird. Der erste Prozess in der Schlange wird vollstndigausgefhrt.
Aufgabe: Nenne einen Vor- und Nachteil dieser Strategie.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Grundlagen II
Welche Strategien gibt es?Shortest Job FirstHierbei wird die Warteschlange nach der Dauer der Prozesse,beginnend mit dem Krzesten, geordnet. Kommt ein neuer Prozessan, wird er hinter den Prozessen mit krzerer oder gleicher Dauerund vor den Prozessen mit lngerer Dauer eingereiht. Der ersteProzess in der Schlange wird vollstndig ausgefhrt.
Aufgabe: Nenne einen Vor- und Nachteil dieser Strategie.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Grundlagen II
Welche Strategien gibt es?PriorityDie Prozesse werden mit Prioritten versehen (statisch oderdynamisch) und wiederum bei ankommen eines neuen Prozessesbeginnend mit der hchsten Prioritt sortiert. Ist das Verfahren einverdrngendes, so wird ein niederpriorer Prozess abgebrochen undneu eingereiht, sobald ein hherpriorer Prozess hinzukommt.
Aufgabe: Nenne einen Vor- und Nachteil dieser Strategie.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Grundlagen II
Welche Strategien gibt es?Round RobinHier erhalten die Prozesse jeweils ein Zeitfenster, in denen sieausgefhrt werden. Danach wird der Prozess abgespeichert underneut an das Ende der Schlange eingereiht. Ein vorherigesSortieren entfllt. Sollte ein Prozess innerhalb oder vor dem Endeseines Fensters beendet sein, schliet der nchste Prozess sofort an.
Aufgabe: Nenne einen Vor- und Nachteil dieser Strategie.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Scheduling: Auswahlstrategien
Prozess DauerA 3B 2C 1
First Come First Served (FCFS)
A A A B B C
Shortest Job First (SJF)
C B B A A A
Round Robin (RR) [Zeitscheibenlnge: 2]
A A B B C A
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Scheduling: Auswahlstrategien
Prozess DauerA 3B 2C 1
First Come First Served (FCFS)
A A A B B C
Shortest Job First (SJF)
C B B A A A
Round Robin (RR) [Zeitscheibenlnge: 2]
A A B B C A
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Scheduling: Auswahlstrategien
Prozess DauerA 3B 2C 1
First Come First Served (FCFS)
A A A B B C
Shortest Job First (SJF)
C B B A A A
Round Robin (RR) [Zeitscheibenlnge: 2]
A A B B C A
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Scheduling: Auswahlstrategien
Prozess DauerA 3B 2C 1
First Come First Served (FCFS)
A A A B B C
Shortest Job First (SJF)
C B B A A A
Round Robin (RR) [Zeitscheibenlnge: 2]
A A B B C A
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
Gegeben seien die folgenden Prozesse mit ihren LaufzeitenBerechnung von pi auf 1000 Stellen (P, 7s)Berechnung des Klausurdurchschnitts (K, 2s)Erstellen von Info1-bungsscheinen (E, 5s)Automatische Korrektur von bungsblttern (A, 12s)
Die Reihenfolge der Ankunft entspricht der Reihenfolge in dieserAuflistung. In welcher Reihenfolge werden die Prozesse mit denStrategien
First Come First ServedShortest Job FirstRound Robin (Zeitscheibe 3 sec)
abgearbeitet? Welche Warte- und Verweilzeiten ergeben sich?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
First Come First Served:
0 3 6 9 12 15 18 21 24 27
P K E A
Wartezeiten: P = 0s, K = 7s, E = 9s, A = 14s, im Mittel 7,5s.Verweilzeiten: P = 7s, K = 9s, E = 14s, A = 26s, im Mittel 14s.
Shortest Job First:
0 3 6 9 12 15 18 21 24 27
K E P A
Wartezeiten: P = 7s, K = 0s, E = 2s, A = 14s, im Mittel 5,75s.Verweilzeiten: P = 14s, K = 2s, E = 7s, A = 26s, im Mittel 12,25s.
Round Robin:
0 3 6 9 12 15 18 21 24 27
P K E A P E A P A A
Wartezeiten: P = 13s, K = 3s, E = 11s, A = 14s, im Mittel 10,25s.Verweilzeiten: P = 20s, K = 5s, E = 16s, A = 26s, im Mittel 16,75s.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
First Come First Served:
0 3 6 9 12 15 18 21 24 27
P K E A
Wartezeiten: P = 0s, K = 7s, E = 9s, A = 14s, im Mittel 7,5s.Verweilzeiten: P = 7s, K = 9s, E = 14s, A = 26s, im Mittel 14s.
Shortest Job First:
0 3 6 9 12 15 18 21 24 27
K E P A
Wartezeiten: P = 7s, K = 0s, E = 2s, A = 14s, im Mittel 5,75s.Verweilzeiten: P = 14s, K = 2s, E = 7s, A = 26s, im Mittel 12,25s.
Round Robin:
0 3 6 9 12 15 18 21 24 27
P K E A P E A P A A
Wartezeiten: P = 13s, K = 3s, E = 11s, A = 14s, im Mittel 10,25s.Verweilzeiten: P = 20s, K = 5s, E = 16s, A = 26s, im Mittel 16,75s.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
First Come First Served:
0 3 6 9 12 15 18 21 24 27
P K E A
Wartezeiten: P = 0s, K = 7s, E = 9s, A = 14s, im Mittel 7,5s.Verweilzeiten: P = 7s, K = 9s, E = 14s, A = 26s, im Mittel 14s.
Shortest Job First:
0 3 6 9 12 15 18 21 24 27
K E P A
Wartezeiten: P = 7s, K = 0s, E = 2s, A = 14s, im Mittel 5,75s.Verweilzeiten: P = 14s, K = 2s, E = 7s, A = 26s, im Mittel 12,25s.
Round Robin:
0 3 6 9 12 15 18 21 24 27
P K E A P E A P A A
Wartezeiten: P = 13s, K = 3s, E = 11s, A = 14s, im Mittel 10,25s.Verweilzeiten: P = 20s, K = 5s, E = 16s, A = 26s, im Mittel 16,75s.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
First Come First Served:
0 3 6 9 12 15 18 21 24 27
P K E A
Wartezeiten: P = 0s, K = 7s, E = 9s, A = 14s, im Mittel 7,5s.Verweilzeiten: P = 7s, K = 9s, E = 14s, A = 26s, im Mittel 14s.
Shortest Job First:
0 3 6 9 12 15 18 21 24 27
K E P A
Wartezeiten: P = 7s, K = 0s, E = 2s, A = 14s, im Mittel 5,75s.Verweilzeiten: P = 14s, K = 2s, E = 7s, A = 26s, im Mittel 12,25s.
Round Robin:
0 3 6 9 12 15 18 21 24 27
P K E A P E A P A A
Wartezeiten: P = 13s, K = 3s, E = 11s, A = 14s, im Mittel 10,25s.Verweilzeiten: P = 20s, K = 5s, E = 16s, A = 26s, im Mittel 16,75s.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
First Come First Served:
0 3 6 9 12 15 18 21 24 27
P K E A
Wartezeiten: P = 0s, K = 7s, E = 9s, A = 14s, im Mittel 7,5s.Verweilzeiten: P = 7s, K = 9s, E = 14s, A = 26s, im Mittel 14s.
Shortest Job First:
0 3 6 9 12 15 18 21 24 27
K E P A
Wartezeiten: P = 7s, K = 0s, E = 2s, A = 14s, im Mittel 5,75s.Verweilzeiten: P = 14s, K = 2s, E = 7s, A = 26s, im Mittel 12,25s.
Round Robin:
0 3 6 9 12 15 18 21 24 27
P K E A P E A P A A
Wartezeiten: P = 13s, K = 3s, E = 11s, A = 14s, im Mittel 10,25s.Verweilzeiten: P = 20s, K = 5s, E = 16s, A = 26s, im Mittel 16,75s.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Auswahlstrategien
First Come First Served:
0 3 6 9 12 15 18 21 24 27
P K E A
Wartezeiten: P = 0s, K = 7s, E = 9s, A = 14s, im Mittel 7,5s.Verweilzeiten: P = 7s, K = 9s, E = 14s, A = 26s, im Mittel 14s.
Shortest Job First:
0 3 6 9 12 15 18 21 24 27
K E P A
Wartezeiten: P = 7s, K = 0s, E = 2s, A = 14s, im Mittel 5,75s.Verweilzeiten: P = 14s, K = 2s, E = 7s, A = 26s, im Mittel 12,25s.
Round Robin:
0 3 6 9 12 15 18 21 24 27
P K E A P E A P A A
Wartezeiten: P = 13s, K = 3s, E = 11s, A = 14s, im Mittel 10,25s.Verweilzeiten: P = 20s, K = 5s, E = 16s, A = 26s, im Mittel 16,75s.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Prozessormodi
privilegierter Moduserlaubt Ausfhrung privilegierter Befehle, wie z.B.
Konfigurationsnderungen des ProzessorsModuswechselspezielle Ein-/Ausgabebefehlekann Einsprungpunkte fr Interrupts definieren
Wechsel in den privilegierten Modus: Interrupts, Exceptionsoder Traps
nichtprivilegierter ModusDurch sogenannte traps bzw. user interrupts kann in denprivilegierten Modus gewechselt werden. Mit Hilfe dieser Sprngekann die Betriebssystemschnittstelle implementiert werden(supervisor calls).
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Prozessormodi
privilegierter Moduserlaubt Ausfhrung privilegierter Befehle, wie z.B.
Konfigurationsnderungen des Prozessors
Moduswechsel
spezielle Ein-/Ausgabebefehle
kann Einsprungpunkte fr Interrupts definieren
Wechsel in den privilegierten Modus: Interrupts, Exceptions oder Traps
nichtprivilegierter ModusDurch sogenannte traps bzw. user interrupts kann in den privilegierten Modusgewechselt werden. Mit Hilfe dieser Sprnge kann dieBetriebssystemschnittstelle implementiert werden (supervisor calls).
Ziel: Absicherung mehrerer Anwendungen gegenber sich selbst
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltenein Lsungsvorschlag:
strukturierte Programmierung (wie z.B. in C)bietet Funktionen, zentrale Definition vonSignaturen(Interfaces) und Konstantenermglicht die Trennung von Definition (Header) undImplementierung ( *.c Quelldatei)
die damit erreichte Abstraktion reicht bald nicht mehr ausimmer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltendie damit erreichte Abstraktion reicht bald nicht mehr aus
immer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Motivation
Warum?zunehmende Gre von Programmen fhrt zu Problemen:der Programmierer kann nicht mehr alles im Blick behaltendie damit erreichte Abstraktion reicht bald nicht mehr aus
immer mehr Variablen und Funktionen im gleichenNamensraumglobale Variablen sind nicht geschtztvorhandene Definitionen knnen ber #includeweiterverwendet werdeneigentliche Implementierungen hingegen nichtsptere nderungen an bestehenden Programmen nur schwermglich
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Alan Kay (Erfinder von Smalltalk, der ersten durchgehendoo-Programmiersprache) wohnt Mitte der 80er einem Vortrag zurneuen Sprache Oberon bei, die OOP vorantreiben wollte.
Nach dem Vortrag hakte Kay nach:
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Alan Kay (Erfinder von Smalltalk, der ersten durchgehendoo-Programmiersprache) wohnt Mitte der 80er einem Vortrag zurneuen Sprache Oberon bei, die OOP vorantreiben wollte.
Nach dem Vortrag hakte Kay nach:
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Diese Sprache untersttzt also keine Vererbung?Das ist korrekt.Und sie untersttzt keine Polymorphie?Das ist korrekt.Und sie untersttzt auch keine Datenkapselung?Das ist ebenfalls korrekt.Dann scheint mir das keine objektorientierte Sprache
zu sein.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Diese Sprache untersttzt also keine Vererbung?Das ist korrekt.Und sie untersttzt keine Polymorphie?Das ist korrekt.Und sie untersttzt auch keine Datenkapselung?Das ist ebenfalls korrekt.Dann scheint mir das keine objektorientierte Sprache
zu sein.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Diese Sprache untersttzt also keine Vererbung?Das ist korrekt.Und sie untersttzt keine Polymorphie?Das ist korrekt.Und sie untersttzt auch keine Datenkapselung?Das ist ebenfalls korrekt.Dann scheint mir das keine objektorientierte Sprache
zu sein.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Diese Sprache untersttzt also keine Vererbung?Das ist korrekt.Und sie untersttzt keine Polymorphie?Das ist korrekt.Und sie untersttzt auch keine Datenkapselung?Das ist ebenfalls korrekt.Dann scheint mir das keine objektorientierte Sprache
zu sein.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Der Vortragende daraufhin:
Nun, wer kann schon genau sagen, was nunobjektorientiert ist und was nicht.
Woraufhin Alan Kay zurckgab:
Ich kann das. Ich bin Alan Kay, und ich habe den Begriffgeprgt.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Der Vortragende daraufhin:
Nun, wer kann schon genau sagen, was nunobjektorientiert ist und was nicht.
Woraufhin Alan Kay zurckgab:
Ich kann das. Ich bin Alan Kay, und ich habe den Begriffgeprgt.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Der Vortragende daraufhin:
Nun, wer kann schon genau sagen, was nunobjektorientiert ist und was nicht.
Woraufhin Alan Kay zurckgab:
Ich kann das. Ich bin Alan Kay, und ich habe den Begriffgeprgt.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Der Vortragende daraufhin:
Nun, wer kann schon genau sagen, was nunobjektorientiert ist und was nicht.
Woraufhin Alan Kay zurckgab:
Ich kann das. Ich bin Alan Kay, und ich habe den Begriffgeprgt.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbung, Polymorphie und Datenkapselung bilden den Kernder OOP.Darber hinaus gibt es viele weitere objekt-orientierteVorgehensweisen ObjektOrientierung ist nicht an einzelneSpracheigenschaften gebundendie eigentliche Objektorientierung findet im Kopf desProgrammierers statt!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbung, Polymorphie und Datenkapselung bilden den Kernder OOP.Darber hinaus gibt es viele weitere objekt-orientierteVorgehensweisen ObjektOrientierung ist nicht an einzelneSpracheigenschaften gebundendie eigentliche Objektorientierung findet im Kopf desProgrammierers statt!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbung, Polymorphie und Datenkapselung bilden den Kernder OOP.Darber hinaus gibt es viele weitere objekt-orientierteVorgehensweisen ObjektOrientierung ist nicht an einzelneSpracheigenschaften gebundendie eigentliche Objektorientierung findet im Kopf desProgrammierers statt!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbung, Polymorphie und Datenkapselung bilden den Kernder OOP.Darber hinaus gibt es viele weitere objekt-orientierteVorgehensweisen ObjektOrientierung ist nicht an einzelneSpracheigenschaften gebundendie eigentliche Objektorientierung findet im Kopf desProgrammierers statt!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Vererbunggrundstzlich wird zwischen Schnittstellen- undImplementierungsvererbung unterschiedenJava bietet beides - in unterschiedlichem MaeSchnittstellen-V. erlaubt verschiedenen Implementierungen diegleichen Anforderungen zu erfllenwird in Java durch Interfaces (Nutzung ber implements)ermglichtImplementierungs-V. erlaubt das Verhalten einesProgrammteils zu erben und zu erweitern/verfeinernwird in Java durch extends genutztwichtig: Mehrfachvererbung in Java nur fr Interfaces!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Polymorphiezu deutsch: VielfrmigkeitPolymorphie meint die Mglichkeit einer Variable, potentiellviele verschiedene Arten von Objekten aufzunehmenBeispiel in Java:Object obj = "text"; obj.toString()
obj = new Double(2); obj.toString()
ein Objekt kann als jede seiner Oberklassen und jedeimplementierte Schnittstelle auftreten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Polymorphiezu deutsch: VielfrmigkeitPolymorphie meint die Mglichkeit einer Variable, potentiellviele verschiedene Arten von Objekten aufzunehmenBeispiel in Java:Object obj = "text"; obj.toString()
obj = new Double(2); obj.toString()
ein Objekt kann als jede seiner Oberklassen und jedeimplementierte Schnittstelle auftreten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Datenkapselungdie Details der Datenspeicherung in Objekten ndert sich oftim Laufe der EntwicklungDie OOP versucht diese Details daher zu verbergen(Geheimnisprinzip)fremde Klassen sollen nicht wissen, wie diese DetailsaussehenDadurch werden unntige Abhngigkeiten im Code vermiedennur das notwendigste ist von auen sicht- und nutzbarin Java:Variablen werden mglichst als private deklariertZugriff auf diese ber passende get- und set-Methodenauf diese Art knnen sich die Schnittstelle und die eigentlichenDaten weitgehend unabhngig voneinander ndern
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Datenkapselungdie Details der Datenspeicherung in Objekten ndert sich oftim Laufe der EntwicklungDie OOP versucht diese Details daher zu verbergen(Geheimnisprinzip)fremde Klassen sollen nicht wissen, wie diese DetailsaussehenDadurch werden unntige Abhngigkeiten im Code vermiedennur das notwendigste ist von auen sicht- und nutzbarin Java:Variablen werden mglichst als private deklariertZugriff auf diese ber passende get- und set-Methodenauf diese Art knnen sich die Schnittstelle und die eigentlichenDaten weitgehend unabhngig voneinander ndern
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Datenkapselungdie Details der Datenspeicherung in Objekten ndert sich oftim Laufe der EntwicklungDie OOP versucht diese Details daher zu verbergen(Geheimnisprinzip)fremde Klassen sollen nicht wissen, wie diese DetailsaussehenDadurch werden unntige Abhngigkeiten im Code vermiedennur das notwendigste ist von auen sicht- und nutzbarin Java:Variablen werden mglichst als private deklariertZugriff auf diese ber passende get- und set-Methodenauf diese Art knnen sich die Schnittstelle und die eigentlichenDaten weitgehend unabhngig voneinander ndern
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Datenkapselungdie Details der Datenspeicherung in Objekten ndert sich oftim Laufe der EntwicklungDie OOP versucht diese Details daher zu verbergen(Geheimnisprinzip)fremde Klassen sollen nicht wissen, wie diese DetailsaussehenDadurch werden unntige Abhngigkeiten im Code vermiedennur das notwendigste ist von auen sicht- und nutzbarin Java:Variablen werden mglichst als private deklariertZugriff auf diese ber passende get- und set-Methodenauf diese Art knnen sich die Schnittstelle und die eigentlichenDaten weitgehend unabhngig voneinander ndern
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Was ist OOP?
Datenkapselungdie Details der Datenspeicherung in Objekten ndert sich oftim Laufe der EntwicklungDie OOP versucht diese Details daher zu verbergen(Geheimnisprinzip)fremde Klassen sollen nicht wissen, wie diese DetailsaussehenDadurch werden unntige Abhngigkeiten im Code vermiedennur das notwendigste ist von auen sicht- und nutzbarin Java:Variablen werden mglichst als private deklariertZugriff auf diese ber passende get- und set-Methodenauf diese Art knnen sich die Schnittstelle und die eigentlichenDaten weitgehend unabhngig voneinander ndern
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Klassen, Objekte und Konstruktoren
KlassenIn Java werden Gruppen von Objekten mit gleichen Merkmalen undMethoden in Klassen gebndelt. Alle Instanzen einer Klasse teilen
die gleichen Merkmale und Methoden, nur die Werte bzw. ihrVerhalten kann unterschiedlich sein. Andere Sprachen verwenden
teilweise andere Systeme, z.B. Prototypen.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Wie entsteht ein Objekt?Um ein neues Objekt zu erzeugen, d.h. eine neue Instanz einerKlasse anzulegen, wird der Konstruktor aufgerufen.Der Konstruktor einer Klasse erzeugt neue Instanzen dieser Klasse.Den parameterlosen Konstruktor nennt man dabei dendefault-Konstruktor.Dies lsst sich durch berladen erweitern. Die Konstruktormethode:
heit wie die Klassewird im Programm mit new aufgerufenbelegt die Attribute eines neuen Objekts mit (Start-)Werten
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Konstruktoren
1 class Book {2 private String title;3
4 Book() {5 System.out.println("Book: default");6 }7
8 Book(String title) {9 System.out.println("Book(String)");10 this.title = title;11 }12
13 public static void main(String [] a){14 new Book("Titel");15 }16 public String getTitle (){17 return title;18 }19 }
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Konstruktoren
1 class CookBook extends Book {2 private String title;3 private String author;4
5 CookBook(String title , String author) {6 super(title);7 this.author = author;8 System.out.println("CookBook(String ,String)");9 }10
11 public static void main(String [] a){12 CookBook book = new
CookBook("Studentenfutter", "Roland Koch");13 System.out.println(book.getTitle ());14 System.out.println(book.title);15 }16 }
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Konstruktoren
1 class BoringBook extends Book {2 public static void main(String [] a){3 new BoringBook ();4 }5 }
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Referenz und Gleichheit
ReferenzAnders als C/C++ erlaubt Java keinen direkten Zugriff aufbeliebige Speicherbereiche.Es gibt aber dennoch Zeiger/Pointer:Jedes Objekt wird erst durch eine Referenz auf sich nutzbar. DieReferenz wird daher auch als Handle (Griff) bezeichnet.
Alles gleich?Bei Objekten ist zwischen Referenzgleichheit und Attributgleichheitzu unterscheiden. Zwei Objekte, welche die gleichen Attributswertehaben mssen noch lange nicht gleich sein.== und .equals() liefern nur in Sonderfllen das gleiche Ergebnis.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Punkt-Operator
Objektattribute und MehtodenUm auf Objektattribute und -methoden zuzugreifen kann man densog. Punkt-Operator verwendenWird auf ein Attribut oder eine Methode ohne Handle und Punktzugegriffen, wird implizit this. eingefgt.
Es ist besser (in Hinsicht auf das Geheimnisprinzip) die sog.get-/set-Methoden zu verwenden, um Objektattributeanzusprechen.
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
get-/set-Methoden
Intention: Zugriff auf Objektattribute wird durch Methodengekapselt
1 c l a s s Book {2 / 3 T i t l e o f the book .4 /5 p r i v a t e S t r i n g t i t l e ;67 / 8 Re t r i e v e s the t i t l e9 @re tu rn t i t l e o f the book10 /11 p u b l i c S t r i n g g e t T i t l e ( ) {12 r e t u r n t i t l e ;13 }1415 / 16 Se t s the t i t l e17 @param t i t l e the t i t l e to s e t18 /19 p u b l i c v o i d s e t T i t l e ( S t r i n g t i t l e ) {20 t h i s . t i t l e = t i t l e ;21 }22 }
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
get-/set-Methoden (2)
Vorteil: zustzliche Bearbeitung der Attribute mglich1 class Point{2 private double r;3 private double phi;4
5 public double getX() { return r *Math.cos(phi); }
6
7 public double getY() { return r *Math.sin(phi); }
8
9 public double getR() { return r; }10
11 public double getPhi () { return phi; }12 }
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
1 Organisatorisches
2 bungsblatt 8
3 Und nochmal...Wahr oder falsch?Wiederholung: Boolsche Normalformen
4 SystemarchitekturScheduling: AuswahlstrategienProzessormodi
5 Objektorientiertes Programmieren in 3 SchrittenBeispiele
6 EndeFeedback
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!
Wie erstelle ich einen regulren Ausdruck?Was sind Prozesse?Welche Auswahlstrategien gibt es?Welche Vorteile hat OOP?Was ist ein Konstruktor?Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?
Was sind Prozesse?Welche Auswahlstrategien gibt es?Welche Vorteile hat OOP?Was ist ein Konstruktor?Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?Was sind Prozesse?
Welche Auswahlstrategien gibt es?Welche Vorteile hat OOP?Was ist ein Konstruktor?Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?Was sind Prozesse?Welche Auswahlstrategien gibt es?
Welche Vorteile hat OOP?Was ist ein Konstruktor?Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?Was sind Prozesse?Welche Auswahlstrategien gibt es?Welche Vorteile hat OOP?
Was ist ein Konstruktor?Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?Was sind Prozesse?Welche Auswahlstrategien gibt es?Welche Vorteile hat OOP?Was ist ein Konstruktor?
Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?Was sind Prozesse?Welche Auswahlstrategien gibt es?Welche Vorteile hat OOP?Was ist ein Konstruktor?Was ist Objekt- bzw. Attributgleichheit?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Zum Schluss...
Was ihr nun wissen solltet!Wie erstelle ich einen regulren Ausdruck?
Was sind Prozesse?
Welche Auswahlstrategien gibt es?
Welche Vorteile hat OOP?
Was ist ein Konstruktor?
Was ist Objekt- bzw. Attributgleichheit?
Ihr wisst was nicht?Stellt jetzt Fragen!
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
War ich zu schnell? Zu langsam?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
War ich zu schnell? Zu langsam?Habe ich bestimmte Sachen zu kurz behandelt?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Feedback
Dann habe ich noch eine Frage:
Wie fandet ihr dieses Tutorium?
War ich zu schnell? Zu langsam?Habe ich bestimmte Sachen zu kurz behandelt?Was kann ich verbessern?
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Eulenfest - 15.01.2008
Informatik I - Tutorium Christian Jlg
Orga Blatt 8 Und nochmal... Systemarchitektur OOP Ende
Informatik I - Tutorium Christian Jlg
Organisatorischesbungsblatt 8Und nochmal...Wahr oder falsch?Wiederholung: Bool'sche Normalformen
SystemarchitekturScheduling: AuswahlstrategienProzessormodi
Objektorientiertes Programmieren in 3 SchrittenBeispiele
EndeFeedback