faecher:informatik:oberstufe:modellierung:vererbung:besser:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:modellierung:vererbung:besser:start [10.11.2021 18:06] sbelfaecher:informatik:oberstufe:modellierung:vererbung:besser:start [12.10.2023 09:56] (aktuell) – [Besser mit Vererbung] Svenja Müller
Zeile 1: Zeile 1:
 ====== Besser mit Vererbung ====== ====== Besser mit Vererbung ======
  
-Die beiden Arten von Posts sind sich sehr ähnlich und teilen sich zahlreiche Attribute und Methoden. Es existiert also gewissermaßen eine "übergeordnete Klasse "(//Superklasse//, //Super// im Sinne von englisch "oberhalb"), die bereits zahlreiche gemeinsame Aspekte abdecken. Die Postarten müssen dann nur noch die Unterschiede definieren.+Die beiden Arten von Beiträgen sind sich sehr ähnlich und teilen sich zahlreiche Attribute und Methoden. Es existiert also gewissermaßen eine "übergeordnete Klasse "(//Superklasse//, //Super// im Sinne von englisch "oberhalb"), die bereits zahlreiche gemeinsame Aspekte abdeckt. Die Beitragsarten müssen dann nur noch die Unterschiede definieren. Diese Super-Klasse könnte z.B. ''Beitrag'' heißen, denn die beiden Beitragsarten sind ja auch beides "Beiträge".
  
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A1) ===
 +
 +Notiere, welche Attribute/Methoden die Super-Klasse haben sollte und in welchen welche Attributen und Methoden sich die beiden Arten von Beiträgen unterscheiden:
 +
 +^ ^ Beitrag ........      ^ PhotoBeitrag ......  ^ TextBeitrag ...... ^
 +| Attribute  | | \\ \\ \\             |
 +| Methoden    | \\ \\ \\             |
 +
 +
 +==== Darstellung im UML-Diagramm ====
 + 
 +Nun benötigt man noch eine Darstellung, die veranschaulicht, dass die gemeinsamen Attribute und Methoden der Superklasse auch den "abgeleiteten" Klassen zur Verfügung stehen. In einem Entwurfs/Implementationsdiagramm stellt man das durch Pfeile mit leeren Pfeilspitzen von der abgeleiteten Klasse zur Super-Klasse dar: 
 +
 +{{ :faecher:informatik:oberstufe:modellierung:vererbung:besser:vererbung_soz_net.drawio.png |}}
 +
 +Das bedeutet, die Klassen ''TextBeitrag'' und ''PhotoBeitrag'' **erweitern** die Klasse ''Beitrag'' - sie **erben** alle Attribute und Methoden der Super-Klasse, können aber eigene Attribute und Methoden hinzufügen.
 +
 +==== Vererbung ganz praktisch ====
 +
 +  * Definiere die **Superklasse**: ''Beitrag''
 +  * Definiere  **Unterklassen** für ''TextBeitrag'' und ''PhotoBeitrag''
 +  * Die Superklasse legt gemeinsame Attribute und Methoden fest
 +  * Die Unterklassen **erben** die Eigenschaften der Superklasse.
 +  * Die Unterklassen fügen weitere, unterschiedliche Eigenschaften hinzu.
 +
 +
 +
 +==== Wie sieht das im Java Code aus? ====
 +
 +{{ :faecher:informatik:oberstufe:modellierung:vererbung:besser:auswahl_089.png |}}
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A2) ===
 +
 +Implementiere die Klassendefinitionen der Klassen ''Beitrag'', ''PhotoBeitrag'' und ''TextBeitrag'' mit ihren Attributen, aber zunächst ohne Konstruktoren und Methoden.
 +
 +---- 
 +=== Material ===
 + 
 +{{simplefilelist>.:*}}
  
  • faecher/informatik/oberstufe/modellierung/vererbung/besser/start.1636567573.txt.gz
  • Zuletzt geändert: 10.11.2021 18:06
  • von sbel