From c42e19ce5fe55c9d7e46f7ec3a061d6784894191 Mon Sep 17 00:00:00 2001 From: Haytham Daoula Date: Wed, 25 Jan 2023 23:23:47 +0100 Subject: [PATCH] Woche11 --- Lerntagebuch.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 0f1f555..fa9368f 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -240,3 +240,32 @@ werden soll. - Continuous integration : Unter kontinuierlicher Integration (Continuous Integration, CI) versteht man die automatisierte Integration von Codeänderungen mehrerer Beteiligter in ein einziges Softwareprojekt. - Continuous delivery : Continuous Delivery ist die Fähigkeit, Änderungen aller Art - einschließlich neuer Funktionen, Konfigurationsänderungen, Fehlerbehebungen und Experimente - sicher, schnell und nachhaltig in die Produktion oder in die Hände der Benutzer zu bringen. + +# Woche 11 + +## 1. Was sind die wesentliche Inhalte von Woche 11 ? + +- Warum ist die objektorientierte Programmierung verwendet ? +- Bei der OOP darf man das Code im Fokus wiederverwenden und prozedurale Algorithmen anwenden. +- Objektorientierte Programierung ist oft auf Vererbung reduziert, und die Vererbung wäre unnötig, wenn sie als Selbstzweck verwendet ist. +- Der Problemlösungsansatz von OOP erfordert eine andere Denkweise. +- Was sind eigentlich Klassen und wozu sind sie nötig ? +- Bei Klassen gibt es zwei Arten von Methoden: private Methoden und öffentliche Methoden. +- Private Methoden erleichtern das Verständnis und durch sie kann man die Implementierung strukturieren(Beispiel : accellerateForSeconds() Methode in der Car Klasse). +- Durch öffentliche Methoden kann man den Zustand manipulieren (Änderung von Eigenschaften), sie Verfügen über ein spezifisches Verhalten mit dem sie sich von anderen Klassen unterscheiden, das heißt dass sie von dem Zustand unabhängig sind. +- Bei der Verebung erweitert die abgeleitete Klasse die Basisklasse, dadurch wurde eine "ist ein" Beziehung modelliert. +- Jede abgeleitete Klasse hat eine geändertes Verhalten (Beispiel : MyApp (abgeleitete Klasse), JFrame (Basisklasse)). + +### Vorteile und Nachteile von Objektorientierungsansatz (Beispiel Conways Game of Life) + +- Vorteile : die OOP ist leicht erweiterbar, Range-Checks wurden nur während der Initialisierung gemacht, was Zeiteinsparung zur Laufzeit sichert und nur wenige Zellen werden betrachtet, was die Gechwindigkeit erhöht. +- Nachteile : 5 Klassen statt einer, 3 mal mehr code und zahlreiche fortgeschrittene Sprachfeatures wurden genutzt. + +## 2. Was kann man für das Teamprojekt anwenden ? + +- Projektgruppe die objektorientierte Programmiersprache nutzen, können ihre Code besser strukturieren. +- Man Kann Vererbung in der Teamprojekt verwenden für effizienter und organizierter Code. + +## 3. Begriff/Thema erklären : + +- Objektorientierte Programmierung : Die objektorientierte Programmierung (OOP) ist ein Programmierstil, der sich durch die Identifizierung von Objektklassen auszeichnet, die eng mit den Methoden (Funktionen) verknüpft sind, mit denen sie verbunden sind. Sie beinhaltet auch die Idee der Vererbung von Attributen und Methoden.