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:11] 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. Diese Super-Klasse könnte z.B. ''Post'' heißen.+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".
  
 ---- ----
Zeile 7: Zeile 7:
 === (A1) === === (A1) ===
  
-Notiere, welche Attribute/Methoden die Super-Klasse haben sollte und in welchen welche Attributen und Methoden sich die beiden Arten von Posts unterscheiden:+Notiere, welche Attribute/Methoden die Super-Klasse haben sollte und in welchen welche Attributen und Methoden sich die beiden Arten von Beiträgen unterscheiden:
  
-^ ^ Post       PhotoPost  TextPost  ^+^ ^ Beitrag ........      PhotoBeitrag ......  TextBeitrag ...... ^
 | Attribute  | | \\ \\ \\             | | Attribute  | | \\ \\ \\             |
 | Methoden    | \\ \\ \\             | | 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.1636567869.txt.gz
  • Zuletzt geändert: 10.11.2021 18:11
  • von sbel