
Programmieren, WS 2015/2016, gehalten am 20.01.2016, Vorlesung 11
1 hour 17 minutes Posted Jan 26, 2016 at 1:10 pm.
Starten
Gliederung ""Was erwartet Sie heute?""
Zerteilen (engl. ""parsing"")
Beispiel: Taschenrechner
Beispiel: Taschenrechner: Parsebaum
Top-Down Parsing
Recursive Descent Parser: Hilfsfunktionen
Rekursiver Abstieg: Umsetzung Regeln
Zusammenfassung Parsen
Suchen
Lineare Suche
Lineare Suche Implementierung
Lineare Suche Visualisierung
Binäre Suche
Binäre Suche Implementierung
Binäre Suche Visualisierung
Sortieren
Bubblesort
Bubblesort Implementierung
Bubblesort Beispiel
Bubblesort: Zitat
Bubblesort: Animation
Selectionsort
Selectionsort Implementierung
Selectionsort Beispiel
Selectionsort: Animation
Insertionsort
Insertionsort Implementierung
Insertionsort Beispiel
Video: The Sound of Sorting
16 Objekt-orientierte Design-Prinzipien
Prinzipien für objekt-orientiertes Design
Prinzip 1: (Datenkapselung) Minimiere die Zugriffsmöglichkeiten auf Klassen und Attribute
Datenkapselung (Information Hiding)
Vorteile Datenkapselung
Prinzip 2: Bevorzuge Komposition gegenüber Vererbung
Komposition
Vorteile/Nachteile Komposition
Vererbung
Vorteile/Nachteile Vererbung
Beispiel Komposition vs. Vererbung
Beispiel mit Komposition
Prinzip 3: Programmiere gegen Schnittstellen und nicht gegen eine Implementierung
Vorteile/Nachteile Interfaces
Beispiel Interface
Prinzip 4: (Open-Closed Principle) Software-Komponenten sollten offen für Erweiterung, aber geschlossen für Änderung sein
Beispiel OCP
OO-Design-Prinzipien
Ausgewählte Prinzipien für den Schnittstellenentwurf
Gute Schnittstellen
Schnittstellenentwurf für Kapselung/Wiederverwendbarkeit
Trennung von Befehl und Anfrage
Schlechte Abstraktion
Bessere Abstraktion
Auftrennung von Klassen und Schnittstellen
Gemischtes Abstraktionsniveau
Konsistentes Abstraktionsniveau
Wahl von Methodennamen
Zusammenfassung der Vorlesung
0:00
1:17:27

