Programmieren, WS 2015/2016, gehalten am 20.01.2016, Vorlesung 11

Share:

Listens: 0

Programmieren, WS15/16, Vorlesung

Education


11: Vorlesung | 0:00:00 Starten 0:00:10 Gliederung ""Was erwartet Sie heute?"" 0:01:18 Zerteilen (engl. ""parsing"") 0:03:49 Beispiel: Taschenrechner 0:05:42 Beispiel: Taschenrechner: Parsebaum 0:06:33 Top-Down Parsing 0:08:12 Recursive Descent Parser: Hilfsfunktionen 0:09:50 Rekursiver Abstieg: Umsetzung Regeln 0:12:08 Zusammenfassung Parsen 0:13:42 Suchen 0:14:03 Lineare Suche 0:14:45 Lineare Suche - Implementierung 0:16:13 Lineare Suche - Visualisierung 0:17:34 Binäre Suche 0:18:47 Binäre Suche - Implementierung 0:20:33 Binäre Suche - Visualisierung 0:22:26 Sortieren 0:22:57 Bubblesort 0:24:05 Bubblesort - Implementierung 0:24:56 Bubblesort - Beispiel 0:25:56 Bubblesort: Zitat 0:26:44 Bubblesort: Animation 0:27:20 Selectionsort 0:28:30 Selectionsort - Implementierung 0:29:09 Selectionsort - Beispiel 0:30:03 Selectionsort: Animation 0:30:27 Insertionsort 0:31:12 Insertionsort - Implementierung 0:31:59 Insertionsort - Beispiel 0:33:09 Video: The Sound of Sorting 0:35:09 16 Objekt-orientierte Design-Prinzipien 0:35:14 Prinzipien für objekt-orientiertes Design 0:36:25 Prinzip 1: (Datenkapselung) Minimiere die Zugriffsmöglichkeiten auf Klassen und Attribute 0:36:40 Datenkapselung (Information Hiding) 0:37:43 Vorteile Datenkapselung 0:39:56 Prinzip 2: Bevorzuge Komposition gegenüber Vererbung 0:40:02 Komposition 0:41:06 Vorteile/Nachteile Komposition 0:42:55 Vererbung 0:43:24 Vorteile/Nachteile Vererbung 0:44:42 Beispiel Komposition vs. Vererbung 0:48:51 Beispiel mit Komposition 0:51:18 Prinzip 3: Programmiere gegen Schnittstellen und nicht gegen eine Implementierung 0:51:25 Vorteile/Nachteile Interfaces 0:52:27 Beispiel Interface 0:53:52 Prinzip 4: (Open-Closed Principle) Software-Komponenten sollten offen für Erweiterung, aber geschlossen für Änderung sein 0:55:21 Beispiel OCP 0:58:38 OO-Design-Prinzipien 1:01:17 Ausgewählte Prinzipien für den Schnittstellenentwurf 1:02:38 Gute Schnittstellen 1:04:01 Schnittstellenentwurf für Kapselung/Wiederverwendbarkeit 1:05:55 Trennung von Befehl und Anfrage 1:08:57 Schlechte Abstraktion 1:10:09 Bessere Abstraktion 1:10:35 Auftrennung von Klassen und Schnittstellen 1:11:14 Gemischtes Abstraktionsniveau 1:12:12 Konsistentes Abstraktionsniveau 1:12:36 Wahl von Methodennamen 1:15:34 Zusammenfassung der Vorlesung