From f405f6eadf19de2681163fad3fc31684d2178ef3 Mon Sep 17 00:00:00 2001 From: fdai7107 Date: Wed, 25 Jan 2023 09:06:25 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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