From 407d47c08712b84a3b4aed4642139d0d68b9c762 Mon Sep 17 00:00:00 2001 From: devops Date: Sun, 29 Jan 2023 20:24:42 +0100 Subject: [PATCH] vorlesung-26-01 --- Lerntagebuch.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) 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