- Einführung in die objektorientierte Programmierung (OOP)
- Was ist OOP und warum wird sie verwendet?
- Grundlegende Konzepte der OOP: Klassen, Objekte, Attribute, Methoden
- Erstellen und Instanziieren von Klassen
- Verwendung von Attributen und Methoden in Klassen
- Vererbung und Polymorphie
- Konzept der Vererbung und Vererbungshierarchien
- Verwendung von Basisklassen und abgeleiteten Klassen
- Überschreiben von Methoden in abgeleiteten Klassen
- Polymorphie und dynamische Bindung
- Vorteile und Einsatzmöglichkeiten von Vererbung und Polymorphie
- Datenkapselung und Abstraktio
n
- Bedeutung der Datenkapselung für die OOP
- Sichtbarkeitsmodifizierer: public, private, protected
- Getter- und Setter-Methoden zur Zugriffskontrolle
- Abstraktion und Schnittstellen
- Entwurf von abstrakten Klassen und Schnittstellen
- Anwendung von Datenkapselung und Abstraktion in der Praxis
- Zusätzliche Konzepte der OOP
- Statische Methoden und Variablen
- Final-Klassen und Final-Methoden
- Klassenkomposition und Aggregation
- Entwurfsmuster in der OOP (z.B. Singleton, Observer)
- Anwendungsfälle und Best Practices der OOP
Übungen wahlweise mit Kotlin, Java, Python, R, C#, C++, Go
- Einführung in die objektorientierte Programmierung (OOP) Übung: Erstellen Sie eine Klasse namens "Person" mit den Attributen "name" und "alter". Die Klasse sollte eine Methode namens "geburtstag_feiern()" enthalten, die das Alter um 1 erhöht. Erzeugen Sie eine Instanz der Klasse und rufen Sie die Methode "geburtstag_feiern()" auf, um das erhöhte Alter zu überprüfen.
- ChatGPT-Integration
: ChatGPT kann als virtueller Assistent dienen, um Schritt-für-Schritt-Anleitungen für die Erstellung der Klasse "Person" zu geben. Es kann bei der Implementierung der Methode "geburtstag_feiern()" helfen, um sicherzustellen, dass das Alter korrekt erhöht wird. ChatGPT kann auch Tipps zur Fehlerbehebung geben und bei der Überprüfung des Codes auf mögliche Verbesserungen hinweisen.
- Vererbung und Polymorphie Übung
: Erstellen Sie eine Basisklasse namens "Fahrzeug" mit den Attributen "marke" und "geschwindigkeit". Die Klasse sollte eine Methode "beschleunigen()" enthalten, die die Geschwindigkeit um einen bestimmten Wert erhöht. Erstellen Sie dann eine abgeleitete Klasse "Auto", die von "Fahrzeug" erbt und eine zusätzliche Methode "hupe_honken()" enthält. Erzeugen Sie eine Instanz der Klasse "Auto" und rufen Sie sowohl die Methode "beschleunigen()" als auch "hupe_honken()" auf.
- ChatGPT-Integration
: ChatGPT kann die Teilnehmer bei der Vererbungslogik unterstützen, insbesondere beim Verstehen, wie die Klasse "Auto" von "Fahrzeug" erbt. ChatGPT kann Beispiele für die korrekte Implementierung von Methoden wie "beschleunigen()" und "hupe_honken()" liefern und dabei helfen, die Konzepte der Polymorphie in der Praxis anzuwenden.
- Datenkapselung und Abstraktion Übung: Erstellen Sie eine Klasse namens "Bankkonto" mit den Attributen "kontonummer" (private) und "guthaben". Implementieren Sie Getter- und Setter-Methoden für das Attribut "guthaben". Die Methode "einzahlen()" sollte den übergebenen Betrag zum aktuellen Guthaben hinzufügen. Erzeugen Sie eine Instanz der Klasse "Bankkonto" und testen Sie die Funktionalität der Getter-, Setter- und Einzahlungsmethode.
- ChatGPT-Integration
: ChatGPT kann als Ressource genutzt werden, um die Prinzipien der Datenkapselung und Abstraktion zu erläutern. Es kann dabei helfen, effektive Getter- und Setter-Methoden zu entwickeln und Ratschläge zur sicheren Implementierung der Methode "einzahlen()" geben. ChatGPT kann auch bei der Erstellung von Testszenarien assistieren, um die Funktionalität der Klasse zu überprüfen.
- Zusätzliche Konzepte der OOP Übung
: Erstellen Sie eine Klasse namens "Rechteck" mit den Attributen "breite" und "länge". Implementieren Sie eine statische Methode namens "berechne_fläche()", die die Fläche des Rechtecks berechnet. Erzeugen Sie eine Instanz der Klasse "Rechteck" und rufen Sie die statische Methode "berechne_fläche()" auf, um die Fläche zu berechnen.
- ChatGPT-Integration
: In dieser Übung kann ChatGPT dazu verwendet werden, das Konzept statischer Methoden zu erklären und wie sie in der Klasse "Rechteck" implementiert werden können. ChatGPT kann Anweisungen zur Berechnung der Fläche geben und bei der korrekten Anwendung von Klassenattributen und -methoden helfen.