tut10_1.pdf

108
Informatik I - Tutorium – Wintersemester 2007/08 – Christian Jülg http://infotut.blogspot.com 14. Januar 2008 Universität Karlsruhe (TH) Forschungsuniversität · gegründet 1825 Quellennachweis & Dank an: Philipp Kern, Bernhard Müller, Jürgen Czerny

Transcript of tut10_1.pdf

  • 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: [email protected]

    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