informatiker.lernen(fia);

Lernen macht hungrig oder? Dann koch dir doch was!


Werbung* - Unterstütze die Seite gerne durch einen Kauf bei Hello Fresh!

informatiker.lernen(fia);

Letzte Änderung: 24-10-2025

Programmierung: Grundlagen der Objektorientierten Programmierung Teil 1

Übungsaufgabe zur Klausur oder Prüfungsvorbereitung

Anspruch: Fortgeschritten

Stichworte sind: OOP, Methoden, Attribute, Kapselung, Polymorphie, Java Annotation

Einfügen

Einleitung

Sind sind Mitarbeiter in einem Softwareunternehmen, welches Anwendungen zur Verwaltung von Lagerplatz entwickelt.

Ihnen wurde ein Auszubildender zur Seite gestellt, der steht kurz davor, das erste Lehrjahr abzuschliessen. Er hat zur Objektorientierung einige Fragen. Bitte beantworten Sie ihm diese.

Einfügen

Aufgabe 1

Der Auszubildende fragt Sie nach einer kurzen Erklärung, die ihm beispielhaft erklärt, was Objektorientierte Programmierung ist. Bitte erklären Sie ihm das.

Lösungsvorschlag

OOP ist ein Paradigma, eine Art des Programmaufbaus, der an die echte Welt angelehnt ist. Der Programmcode wird aufgeteilt in Klassen, die als Beschreibung von Objekten dienen.

Objekte haben Eigenschaften und Funktionen, die in der Klasse als Feldvariablen und Methoden angelegt sind. Die Summe dieser Objekte, die sich jeweils um sich selbst kümmern, aber mit den anderen Objekt interagiert, bildet das Programm ab.


Ein praktisches Beispiel wäre eine Klasse Fahrzeug. Fahrzeuge haben alle die Gemeinsamkeit, dass sie alle Fahren, dass Sie auch alle wieder anhalten können, dass sie eine bestimmte Geschwindigkeit haben. Dies muss also nur einmal beschrieben werden und kann dann immer wieder verwendet werden.


Durch OOP wird also die Komplexität eines Programms stark verringert.

Einfügen

Aufgabe 2

Der Auszubildende hat von Gettern und Settern und Kapselung schon gehört, möchte aber noch ein mal wissen, wozu und warum es Getter und Setter gibt und was genau durch das Prinzip der Kaselung erreicht werden soll.

Lösungsvorschlag

Kapselung dient dazu die Daten (Attribute) von Klassen vor unerlaubtem Zugriff von außerhalb der Klasse zu schützen. Der Zugriff wird stattdessen über Getter und Setter-Methoden geregelt. Die verbessert die Übersicht, Fehlersicherheit, Wartbarkeit, Fehlersuche und Testbarkeit des Programms.

Einfügen

Aufgabe 3

Zum unteren Java Beispielcode, der noch unfertig ist, hat der Auszubildende einige Fragen.

a) Der Auszubildende hat gehört, dass hier Polymorphie zum Einsatz kommt und weiß auch grundlegend schon, was Polymorphie ist. Erklären Sie ihm, an welchen Stellen Polymorphie hier vorkommt und wie diese konkret jeweils umgesetzt ist.

Lösungsvorschlag

Im Falle der Konstruktoren und der Methoden getArticleIds wird Überladung eingesetzt, diese setzt voraus, dass die Parameter unterschiedlich sind (Anzahl oder Datentypen).


Der 2. Fall ist, dass die Klasse von der Basisklasse Storage erbt und die Methode getArea() überschrieben wird. Dadurch ändert sich ebenfalls die Funktionalität der Methode.

b) Erklären Sie was das Schlüsselwort "this" hier bedeutet, wozu und wie wird es genutzt.

Lösungsvorschlag

this verweist auf das jeweilige Objekt, nach dem Punkt folgt der jeweils angesprochene Member, also in diesem Fall auf die Variable articleId. Dies ist nötig, weil auch die Parametervariable articleId den gleichen Bezeichner hat.

c) Was bedeutet @Override in Java?

Lösungsvorschlag

@Override ist eine Java-Annotation, also eine Art Anmerkung. Diese fügt dem Quellcode Metadaten hinzu, die sich hier auf die nachfolgende Methode getArea beziehen. Der Compiler erhält dadurch die Information, dass es sich hier um eine Überschreibung handeln soll. Wäre die Methode in der Basisklasse nicht implementiert, würde der Compiler dies bemerken, was ohne die Annotation nicht möglich wäre.

d) Der Auszubildende wundert sich, warum hier ein Array genutzt wurde. Er findet eine Liste wäre besser gewesen. Was sagen Sie dazu?

Lösungsvorschlag

In diesem Fall wäre die Verwendung einer Liste (ArrayList z.b.) sinnvoller, da diese in der Größe dynamisch verändert werden kann und nicht wie ein Array eine feste Anzahl von Werten speichert.

Einfügen


Lernen macht hungrig oder? Dann koch dir doch was!


Werbung* - Unterstütze die Seite gerne durch einen Kauf bei Hello Fresh!

Dein Feedback ist uns wichtig

Hat dir dieser Inhalt gefallen? Hast Du Kritik oder Verbesserungsvorschläge? Hast Du inhaltliche Fehler entdeckt?

Schreib uns gerne dein Anliegen an info@informatiker-lernen.de