From b4fc3fe9ed67d03302bec46385099bbde46cb649 Mon Sep 17 00:00:00 2001 From: fdai7783 Date: Sun, 5 Nov 2023 12:39:47 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 8cb8f18..9a64d06 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -57,7 +57,31 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte - aber auch sehr wortreich (__Nachteil__) - Anwendung von _Kochrezepten_ möglich --> bestimmten Programmiermustern zur Definition von Abfolgen - - + - Deklarative Programmierung + - Beschreibung des Problems statt jedes einzelnen Handlungsschrittes --> dadruch weniger hardwarenahe + - ist oft kürzer als imperative Programmierung --> _Probleme werden auf den Punkt gebracht_ + - Vorteil: Arbeiten mit mathematischen Beweisen möglich + + - Prozedurale Programmierung + - Inkarnation der imperativen Programmierung + - Allgorithmus wird in Teile zerlegt + - auch vor allem am Anfang verwendet --> bot Möglichkeit einfach mit Hardware zu interagieren + - _Hat eine Mainmethode_ + - Funktionen werden in festgelegter Reihenfolge abgearbeitet + - Beispiel: C + + - Objektoriente Programmierung + - besitzen Klassen die als _Baupläne_ für Objekte dienen --> dadruch Kapselung von Daten und Struktur + - am _echten_ Leben orientiert + - erlaubt einfach Wiederverwendbarkeit von Code + - unabhängige Entwicklung an verschiedenen Teilen des Codes + - besser Testbarkeit (Unittests) vor allem von automatisierten Tests --> mit Hilfe kleiner Klassen/funktionsbeschränkter Klassen und isoliterter Testung + - unterstützen Polymorphie (_mehrere Ausprägungen habend_) --> erlaubt vererbte Methode aus Elternklasse mit Quellcode der Kindklasse zu überladen + + - Beispiel: Java + + +