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:17] 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    | \\ \\ \\             |
  
-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 Entwurfs7Implelentationsdiagramm stellt man das durch Pfeile mit leeren Pfeilspitzen von der abgeleiteten Klasse zur Super-Klasse dar: + 
 +==== 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 |}} {{ :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.1636568243.txt.gz
  • Zuletzt geändert: 10.11.2021 18:17
  • von sbel