22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.2.4 Semantik <strong>der</strong> Prädikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

2.2.5 Ableitungskalkül für die Prädikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

2.2.6 Dreiwertige Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

2.3 Formale Beschreibung von Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

2.3.1 Funktionen und zusammengesetzte Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . 51<br />

2.3.2 Bedingte Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

2.3.3 Abkürzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

2.3.4 Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

2.3.5 Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

2.4 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

2.5 Ergänzende Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

3 Klassen und Objekte 59<br />

3.1 Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

3.1.1 Einfache Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

3.1.2 Verweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

3.2 Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

3.2.1 Abstrakte Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

3.2.2 Klassen in Eiffel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

3.2.3 Typen und Verweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

3.2.4 Kunden, Lieferanten und Selbstreferenz . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

3.3 Routinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

3.3.1 Aufruf von Routinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

3.3.2 Definition von Routinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

3.3.3 Lokale Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />

3.3.4 Standardoperationen für alle Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

3.3.5 Das aktuelle Exemplar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

3.3.6 Nicht-standardmäßiges Erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

3.4 Das Geheimnisprinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

3.5 Copy- und Referenz-Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

3.5.1 Einfache Typen und Klassentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

3.5.2 mssxexpanded: Klassen mit Copy-Semantik . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

3.6 Generische Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

3.6.1 Parametrisierung von Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

3.6.2 Typprüfung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />

3.6.3 Fel<strong>der</strong>: Beispiele generischer Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

3.7 Verträge für Software-Zuverlässigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!