diff --git a/Lerntagebuch.md b/Lerntagebuch.md index dc93204..e8801b7 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -750,3 +750,53 @@ Z**usammenführen der Einzelleistungen** ---------------------------------------------------------------------------------- +## SU (26.01.2023) + +### Lernziel +**Inhalte** +- Motivation +- Klassen +- Vererbung +- OOP Algorithmen + +### Erkenntnise + +**Motivation** +- Wiederverwendung von Code im Fokus +- OOP oft auf Vererbung reduziert +- Anwendung prozeduraler Algorithmen +- Vererbung als Selbstzweck → Unnötige Vererbung + +**OOP ist ein eigenständiger Ansatz der Problem-lösung der eine andere Denkweise erfordert.** + +**Klassen **- +- Eigenschaften / Zustand +- private Methoden + - Strukturierung der Implementierung + - erleichtern Verständnis +- öffentliche Methoden + - Manipulation des Zustandes (Änderung von Eigenschaften) + - spezifisches Verhalten, mit dem sie sich von anderen Klassen unterscheidet unabhängig vom Zustand + +**Vererbung** - +- abgeleitete Klasse erweitert Basisklasse +- modelliert eine ”ist ein” Beziehung +- geändertes Verhalten + +**OOP Algorithmen** - +- Primitive Type Obsession (PTO) +- falsche Verantwortlichkeiten +- Arrays vs. Collections + +**Vorteile des OO Ansatzes:** +- leichter erweiterbar +- Range-Checks nur während Initialisierung → Zeiteinsparung zur Laufzeit. +- nur wenige Zellen werden betrachtet + → Geschwindigkeit hängt nur von Anzahl lebender Zellen ab. +Nachteile des OO Ansatzes: +- 5 Klassen statt einer, 3 mal mehr Code +- nutzt zahlreiche fortgeschrittene Sprachfeatures + +### Kritik + +### Mitteilung \ No newline at end of file