Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:m320_2024:learningunits:lu10:generalisierung_spezialisierung [2026/08/30 14:05] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m320_2024:learningunits:lu10:generalisierung_spezialisierung [2026/08/30 14:06] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU10b - Generalisierung / Spezialisierung ====== | ||
| + | ===== Begriffe ===== | ||
| + | **Generalisierung** ist eines der Kernkonzepte der objektorientierten Programmierung. | ||
| + | Die objektorientierte Softwareentwicklung nutzt generalisierte Klassen und Objekte um gemeinsame Eigenschaften (Attribute) und Funktionen (Methoden) in logischen Einheiten zu bündeln. | ||
| + | |||
| + | Aus Sicht einer Unterklasse oder auch abgeleiteten Klasse sprechen wir dann von **Spezialisierung**, | ||
| + | |||
| + | {{modul: | ||
| + | |||
| + | //Abb: Generalisierung / Spezialisierung am Beispiel von Transportmitteln.// | ||
| + | |||
| + | Die Vererbung wird auch gerne als **IS-A**-Beziehung (ist ein) bezeichnet. Nur wenn man diese Aussage anwenden kann, handelt es sich um eine Vererbung im engen Sinn des Wortes. | ||
| + | |||
| + | An Hand einiger Beispiel soll die IS-A-Beziehung verdeutlicht werden. | ||
| + | |||
| + | ==== Beispiele ==== | ||
| + | Korrekte '' | ||
| + | * Auto ist ein (is a) Verkehrsmittel. | ||
| + | * Hund ist ein Tier. | ||
| + | * PET ist ein Kunststoff | ||
| + | * Tisch ist ein Möbel | ||
| + | * Fussball ist ein Ball ist ein Spielmittel | ||
| + | |||
| + | === ABER === | ||
| + | |||
| + | * Zoo ist ein Tier -> ist falsch! \\ Zoo " | ||
| + | * Verkehrsmittel ist ein Auto -> ist falsch! \\ Hier ist die Hierarchie umgedreht. Auto ist die Spezialisierung von Verkehrsmittel. | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | {{tag> | ||
| + | [[https:// | ||