
Wir installieren Visual Studio Code.
Wir nutzen sdkman um uns ein Java SDK zu installieren und konfigurieren anschließend VS Code für die Java Entwicklung!
Hier gebe ich eine Einleitung in den Abschnitt und stelle vor, was wir behandeln.
Wir behandeln Objekte und deren Kommunikation miteinander als Grundbausteine der objekt-orientierten Programmierung.
Wir behandeln den Unterschied zwischen einer Klasse und einem Objekt.
Das Single-Responsibility-Prinzip ("Prinzip der einzigen Verantwortung") wird oft falsch verstanden und falsch angewendet. In dieser Lektion behandeln wir diesen Missstand und räumen damit auf.
Kapselung ist ein Kernaspekt eines Objektes. Wir schauen uns an, wie schnell solch eine Kapselung mit Gettern und Settern durchbrochen wird, und wie ein Objekt seine Kapselung aufrecht erhalten kann.
Wir fassen den Abschnitt kurz zusammen.
UPDATE 2026: inkl. 20 Minuten Bonusabschnitt "Einführung in die KI-gestützte Programmierung"
In 4 Stufen nähern wir uns einem professionellen, agentischen Entwicklungsworkflow!
--
Objekt-Orientierte Programmierung hat ein fundamentales Problem: sie wird großflächig miserabel gelehrt, falsch verstanden und schlecht angewendet.
Mit diesem Kurs korrigieren wir das Verständnis objekt-orientierter Programmierung, indem wir sie aus einer alternativen, kompakteren Perspektive aus beleuchten. Wir ersetzen Dogmatismus mit einem tiefgreifenden Verständnis für die objekt-orientierten Programmierung. Wir ersetzen "Richtig oder Falsch?", "Schwarz oder Weiß?", "Alles oder Nichts?" mit Trade-Offs und Abwägungen. Denn diese zahlreichen Entscheidungen machen objekt-orientierte Software robust, verständlich, wartbar und flexibel.
Darf jedes Objekt wirklich nur eine einzige Sache tun, und niemals mehr? Ist Vererbung "böse"? Ist enge Kopplung falsch und in jedem Fall zu refaktorisieren?
Dieser Kurs möchte dieses aktuell dominante Narrativ im Umgang mit der objekt-orientierten Programmierung ersetzen: und zwar mit einem bewussteren, aufgeklärteren Ansatz.
Egal, ob ihr bereits mit der objekt-orientierter Programmierung vertraut seid oder noch recht wenig professionelle Erfahrung mit diesem Programmierparadigma habt: wenn ihr die Konzepte, Prinzipien und Grundsätze dahinter wirklich verstehen und richtig anwenden wollt, anstatt euren Code auf blindem, unreflektiertem Dogmatismus aufzubauen, seid ihr in diesem Kurs richtig!
Im Mittelpunkt unsere Betrachtungen stehen die beiden Grundpfeiler der objekt-orientierten Programmierung: Objekte und deren Kollaboration.
Wir befassen uns mit den wichtigsten und zentralen Eigenschaften "guter" Objekte. Wir beleuchten verschiedene Arten der Klassifizierung, räumen mit dem Single-Responsibility-Prinzip auf und führen das "Tell, Don't Ask"-Prinzip mit dem so wichtigen Prinzip der Kapselung zusammen.
Anschließend machen wir aus robusten, aber "Lone-Wolf"-Objekten Teamplayer: durch eine strukturierte Kooperation und Kollaboration. Wir befassen uns mit dem Prinzip der Kopplung und zeigen, welche Formen der Kollaboration welche Auswirkungen auf eben diese Kopplung haben. Genauer gesagt wägen wir die verschiedenen Trade-Offs ab, die sowohl mit der Komposition als auch mit der Vererbung einhergehen.
Und abschließend greifen wir eine Arbeitsweise auf, ohne die die objekt-orientierte Programmierung nicht das wäre, was sie heute ist: die test-getriebene Entwicklung. Anhand einer durchgehenden Coding Challenge, die wir test-getrieben erarbeiten, lernen wir die unterschiedlichen Phasen des TDD-Flows kennen. Dabei begegnen wir fortgeschritteneren Themen, wie dem Special Case Pattern, Built-In Fake Objects und Mocks, dem Indecent Exposure Code Smell und dem Fragile Base Class Problem.
Nach Abschluss dieses Kurses seid ihr bessere, pragmatischere objekt-orientierte Programmierer. Ihr versteht die Konzepte hinter der objekt-orientierten Programmierung und wisst sie praktisch anzuwenden und abzuwägen. Euer Bild der objekt-orientierten Programmierung könnte vielleicht sogar komplett auf den Kopf gestellt werden. Aber unsere Profession braucht diese Korrektur: denn nur so entfaltet sich die Wirkung der objekt-orientierten Programmierung und sie wird in die Lage versetzt, ihre Versprechen endlich einlösen zu können.