Gruppenleiter

  • Aarsigan Ramanarajah

Gruppenmitglieder

  • Walid Sekandari
  • Davide Alessio Palladino
  • Julian Herzog
  • Tobias Hoaiviet Seeman

Beschreibung des Projekts

Bei diesem Projekt handelt es sich um eine einfache Konsolenanwendung in der Programmiersprache C#.
Die Anwendung dient zur Verwaltung verschiedener Fahrzeugtypen wie Auto, Motorrad und LKW.

Das Programm basiert auf objektorientierter Programmierung und zeigt, wie unterschiedliche Klassen miteinander arbeiten können. Dabei werden Fahrzeuge erstellt, deren Eigenschaften verwaltet und Berechnungen wie Verbrauch und Reichweite durchgeführt.

Das Projekt ist bewusst einfach gehalten, damit die Struktur klar verständlich ist und die wichtigsten Konzepte im Vordergrund stehen.


Einordnung in das Modul

Das Projekt wurde im Rahmen des Moduls 320 (Objektorientierte Programmierung) umgesetzt.

Es dient dazu, die im Unterricht behandelten Grundlagen praktisch anzuwenden. Dazu gehören insbesondere Klassen, Vererbung, Polymorphie sowie der Einsatz von Properties und Methoden.

Das Projekt zeigt, dass die Inhalte des Moduls verstanden wurden und selbstständig in einer funktionierenden Anwendung umgesetzt werden konnten.

Bilder

Gute und schlechte Erfahrungen

Gute Erfahrungen

Während der Umsetzung des Projekts konnten wir viele positive Erfahrungen sammeln. Besonders hilfreich war, dass wir die theoretischen Inhalte aus dem Modul 320 praktisch anwenden konnten. Dadurch wurde unser Verständnis für objektorientierte Programmierung deutlich verbessert.

Die Arbeit mit Klassen und Vererbung war gut nachvollziehbar, da die Struktur des Projekts klar aufgebaut war. Insbesondere das Konzept der Polymorphie wurde durch die Verwendung einer gemeinsamen Fahrzeugliste verständlich.

Auch die Implementierung von Methoden wie der Verbrauchs- und Reichweitenberechnung war eine positive Erfahrung, da diese Funktionen logisch und realitätsnah sind. Dadurch konnten wir sehen, wie Programmcode nicht nur Daten speichert, sondern auch sinnvolle Berechnungen durchführt.

Ein weiterer positiver Aspekt war, dass das Projekt übersichtlich blieb und wir Schritt für Schritt Fortschritte machen konnten. Dies hat die Motivation erhöht und das Arbeiten erleichtert.


Schlechte Erfahrungen

Trotz der insgesamt positiven Umsetzung gab es auch einige Herausforderungen. Zu Beginn war es schwierig, eine passende Projektidee zu finden, da keine klare Vorstellung vorhanden war.

Zudem war es teilweise nicht einfach zu entscheiden, welche Eigenschaften in die Basisklasse gehören und welche nur in die abgeleiteten Klassen. Diese Strukturierung erforderte mehrere Überlegungen und Anpassungen.

Ein weiteres Problem war das Verständnis von Polymorphie und Methodenüberschreibung. Anfangs war unklar, wie genau die Methoden in den verschiedenen Klassen zusammenarbeiten. Erst durch praktisches Ausprobieren wurde dieses Konzept verständlicher.

Auch die Verwendung von Backing Fields war anfangs ungewohnt, da entschieden werden musste, wann diese sinnvoll sind und wann einfache Properties ausreichen.

Insgesamt konnten diese Schwierigkeiten jedoch durch Übung, Recherche und schrittweises Vorgehen gelöst werden.