diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 912f1dd..8bf663d 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -292,6 +292,39 @@ - Continous Integration sollte immer compilierbar, also ausführbar sein, ohne Ausnahme! - Ein automatisierter Tet würde zwar das Programm ausführen, gewünschtes Verhalten dokumentieren und Laufzeitfehler erkennen, aber das wars auch schon, es würde keine neuen fachlichen Fehler finden. +# Woche 11 +(18.02.2023) +## Lernziele + +- Klassen +- Vererbung +- OOP Algorithmen + +## Wiederholung + +- Die Codewiederverwendung steht im Fokus +- OOP ist oft auf die Vererbung reduziert +- Ein eigenständiger Ansatz der Problemlösung, der eine andere Denkweise erfordert, ist OOP +- Private Methoden: + - Implementierungsstrukturierung + - Erleichtertes Verständnis +- Öffentliche Methoden: + - Zustandsmanipulation + - Ein spezifisches Verhalten, mit dem sie sich von anderen Klassen unterscheidet (unabhängig vom Zustand) +- Abgebildete Klassen erweitern Basisklasse +- Modelliert eine ”ist ein” Beziehung +- Primitive Type Obsession (PTO) +- OO Ansatz Vorteile: + - Ist leichter erweiterbar + - Range-Checks nur während Initialisierung (Zeitsparung zur Laufzeit) + - Nur wenige Zellen werden betrachtet +- OO Ansatz Nachteile: + - Drei mal mehr Code, da fünf Klassen statt einer + - Es werden zahlreiche fortgeschrittene Sprachfeatures genutzt + +## Erkenntnis + +- Wir sollten versuchen den Code so oft wie möglich wiederzuverwenden