Aufgabe Vorschlag C - 1.1 · Abitur Hessen Praktische Informatik LK 2022

Thema: Klassendiagramme und Objektdiagramme · Aus der Prüfung LK (2022)

Aufgabenstellung

Material 2

UML-Klassendiagramm

Hinweise: Die Methode toString() der Klasse Einzelteil ergibt eine Zeichenkette der Form:

ID=e19, Lenker wiegt 234 g, kostet 45.00 EUR, Hersteller: TeamPro, Name: Evaluation, 42 cm

Die private Methode leseDatenAusDatei() initialisiert das Attribut String[] konfigzeilen der Klasse Bike mittels der Konfigurationsdatei (Material 1).

Auf alle Attribute kann mittels get-Methoden zugegriffen werden.

Die Klasse Komponente hat bei der Modellierung der Bestandteile eines Bikes eine besondere Bedeutung. Beschreiben Sie die im Klassendiagramm in Material 2 vorliegende Vererbungsstruktur (Stichworte: Spezialisierung, Generalisierung, abstrakte Klassen, Methoden, Zugriffsrecht protected, Polymorphie). Erläutern Sie die Beziehung zwischen den Komponenten und deren Bedeutung für die Implementierung einer doppelt verketteten Liste.

[6 BE]

a)

b)

Aufgabenstellung: Aufgabe Vorschlag C - 1.1 · Abitur Hessen Praktische Informatik LK 2022

Lösung

Nach den offiziellen Korrekturhinweisen

Beschreiben Sie die im Klassendiagramm in Material 2 vorliegende Vererbungsstruktur (Stichworte: Spezialisierung, Generalisierung, abstrakte Klassen, Methoden, Zugriffsrecht protected, Polymorphie).

Lösung: Die abstrakte Klasse Komponente als Oberklasse (Superklasse) dieser Vererbungsstruktur ist eine Generalisierung der Unterklassen (Subklassen) RahmenTeil, SchaltElement und EinzelTeil. Die Subklassen haben die gemeinsamen Attribute iD, bezeichnung, gewicht, preis und hersteller, die in die Superklasse ausgelagert sind. Außer der privaten Identifikationsnummer haben diese Attribute das Zugriffsrecht protected (geschützt), benötigen innerhalb der Vererbungshierarchie beziehungsweise aus Klassen des Pakets keine get- und set-Methoden, sind aber gegen Zugriffe von außerhalb geschützt. Die drei Subklassen sind Spezialisierungen ihrer Superklasse Komponente. Jede dieser Klassen hat eigene Attribute, wie gruppe und abmessung der Klasse RahmenTeil. Dass es sich bei Komponente um eine abstrakte Klasse handelt, bedeutet, dass man von ihr keine Objekte erzeugen kann. Aber die Objekte ihrer Subklassen sind ebenfalls vom Datentyp Komponente, was für den gemeinsamen Aufruf von Methoden und Attributen vorteilhaft ist. Die toString()-Methoden sind polymorphe Methoden, sie haben die gleiche Signatur. So wird erst zur Laufzeit der Software entschieden, welche davon für ein konkretes Objekt verwendet wird.

Erläutern Sie die Beziehung zwischen den Komponenten und deren Bedeutung für die Implementierung einer doppelt verketteten Liste.

Lösung: Die abgebildete Beziehung ist eine bidirektionale rekursive Assoziation auf das eigene Objekt. Jede Komponente kann eine vorherige und/oder eine nächste Komponente haben. In der Klasse Komponente werden vorherige und naechste als Referenzvariablen bereitgestellt. Die so verketteten Komponenten sind über ihre Vorgänger und über ihre Nachfolger erreichbar und können deshalb in beide Richtungen durchlaufen werden.

Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium

Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.

‹ Aufgabe Vorschlag B - 1 · LK 2022 · Aufgabe Vorschlag C - 1.3 · LK 2022 ›

Mehr Aufgaben zu Klassendiagramme und Objektdiagramme