- Wiederverwendung von Code --> classen werden häufiger benutzt --> spart arbeit und code duplikation
- OOP oft auf Vererbung reduziert
- Anwendung prozeduraler Algorithmus
- Vererbung als Selbstzweck -> Unnörige Vererbung
_Folie 7_
- Eigenschaften/Zustand
- private Methoden
- Strikturiernung der Implementierung
- erleichtern Verständnis
- öffentliche Methoden
- Manipulation des Zustandes
- spezifisches Verhalten, mit dem sie sich von anderen Klassen unterscheidet
_Folie 13_
Vererbung
- abgeleitete Klasse erweitert Basisklasse
- modelliert eine "ist ein" Beziehung --> ein Elektroauto "ist ein" Tpy der Klasse PKW
- geändertes Verhalten
_Folie 17_
OOP Algorythmen
- primitive Type Obsession (PTO)
- falsche Verantwortlichkeiten
- Arrays vs. Collections
_Folie 19_
OOP Algorithmen -Bsp. Conways game of Live
Vorteile des OO Ansatzes:
- leichter erweiterbar
- range-Chacks nur während Initialisiernung --> 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 frortgeschrittene Sprachfeatures
### Erkentniss
Durch OOP lässt sich Code in verschidene Klassen aufteilen und somit auch häufiger benutzen/wiederverwenden. OOP ist meist übersichtlciher, da die Aufteilung einfacher zu versteen ist. Durch das wiederverwenden und das das einfachrere Verstehen wird Zeit und Arbeit gespart, die andersweitig verwendet werden kann.
### Wiederholung
Klassen stehen immer in Beziehungen zueinander ("ist ein"). Ein Elektroauto "ist ein" PKW oder ein Dieselfahrzeug "ist ein" PKW.
"PKW" währe in diesem Fall eine Basisklasse, die durch die Klassen "Dieselfahrzeug" und "Elektroauto" erweitert wird.