TU Wien:Fortgeschrittene objektorientierte Programmierung VU (Puntigam)/Stoffübersicht
Zur Navigation springen
Zur Suche springen
Eine stichwortartige Stoffzusammenfassung als Hilfestellung beim Lernen.
- veraltete Infos aktualisiert am 15.10.2023
Teil 1
- Zusicherungen
- Ausdrückbarkeit von Zusicherungen
- Probleme
- History Constraints
- "Lösungen"
- Alias-Probleme aussschließen
- Atomare Aktionen bei Nebenläufigkeit
- Seiteneffekte vermeiden
- Namen und strukturelle Typen
- Bedeutung von Namen
- Strukturell vs. nominal
- Arten von Namenskonflikten
- Wo Namen manchmal stören
- Schranken bei Generizität
- Plug & Play
- Einfügen gemeinsamer Oberklasse
- Generizität
- anonyme Schranken
- Arten gebundener Generizität
Teil 2
- Implementierung OOP - dynamisches Binden
- Einfachvererbung
- Interfaces
- Mehrfachvererbung
- Optimierungsmöglichkeiten
- State Pattern
- Dynamische Vererbung als Alternative zur Delegation
- Observer Pattern
- Pull / Push
Teil 3
- Smalltalk
Teil 4
- Eiffel
- Nebenläufigkeit
- Vererbungsanomalie
- SCOOP Modell in Eiffel
Teil 5
- Reflektion
- Arten der Semantikänderung eines Programms
- Metadaten
- Klassen zur Laufzeit hinzufügen
- Klassen dynamisch erzeugen
- Message passing usw. direkt verändern
- Alternativen zur Reflektion
- Attribute und Annotationen
- Statisch vs. dynamisch
- Dynamische Erweiterung von Klassen vs Decorator
- Metaklassen
- C++ Templates
- Ausdrucksstärke
- Policy-based Programming
Teil 6
- Funktionale OOP
- Referenzielle Transparenz (= keine Seiteneffekte)
- Pattern Matching
- Delegates
- Closures
- Lambdas
- Delegation vs. Vererbung
- Mixins
- Traits
- Dependency Injection
- Interface Injection
- Setter Injection
- Constructor Injection
- Inversion of Control Container
- Dynamische Sprachkonzepte
- Duck Typing
- Reaktion auf unbekannte Methoden
- primitive Datentypen
- Garbage Collection
- Sichtbarkeit
- Klassenbasiert
- Objektbasiert
- nach Security-Policy
- Trennung GUI und Logik, z.B. MVC
- Type Erasure
- homogene Übersetzung von Generizität in Java
- keine Type Erasure in C#