1. generalisierung/spezialisierung subtypisierung/vererbung bringt struktur in die klassen-diagramme...
TRANSCRIPT
![Page 1: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/1.jpg)
1
![Page 2: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/2.jpg)
Generalisierung/SpezialisierungSubtypisierung/VererbungBringt Struktur in die Klassen-
DiagrammeErhöht die WiederverwendbarkeitErlaubt die schrittweise Verfeinerung
2
![Page 3: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/3.jpg)
Motivation: Problem der Wiederverwendung
3
![Page 4: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/4.jpg)
Motivation; cont‘d
4
Keine Wiederverwendung
Angestellte können nurPersonen heiraten???
![Page 5: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/5.jpg)
5
![Page 6: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/6.jpg)
Subtypisierung: Overtyp/Untertyp
6
![Page 7: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/7.jpg)
Generalisierung/Spezialisierung
7
![Page 8: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/8.jpg)
extends
8
![Page 9: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/9.jpg)
Substituierbarkeit: Typ-Sicherheit immer noch gewährleistet
9
![Page 10: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/10.jpg)
Vererbung: am Beispiel erläutert(eine Subtyp-Instanz „kann mehr“)
10
![Page 11: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/11.jpg)
Generalisierung-Hierarchie
11
![Page 12: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/12.jpg)
12
![Page 13: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/13.jpg)
13
Wurzeltyp: Object
![Page 14: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/14.jpg)
14
![Page 15: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/15.jpg)
15
![Page 16: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/16.jpg)
16
![Page 17: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/17.jpg)
17
![Page 18: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/18.jpg)
18
Verfeinerung / refinement
![Page 19: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/19.jpg)
19
Verfeinerung / refinementnochmals
![Page 20: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/20.jpg)
Dynamisches Binden
20
![Page 21: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/21.jpg)
21
Unterschiedliche Opswerden dyn. gebunden
![Page 22: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/22.jpg)
Substituierbarkeit: Eine Untertyp-Instanz kann eine Obertyp-Instanz substituieren – nicht umgekehrt
22
![Page 23: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/23.jpg)
Beispiele für die Typisierungsregeln
23
![Page 24: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/24.jpg)
Weiteres Beispiel (7)
24
![Page 25: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/25.jpg)
Abstrakte/Virtuelle Klassen &Schnittstellen/Interfaces Deklaration von Methoden ohne deren Implementierung
schon durchzuführen Interface:
nur DeklarationenEine Klasse kann mehrere Schnittstellen implementieren
Abstrakte Klasse:Einige Methoden können schon implementiert werdenAndere nur deklariertVirtuelle Klasse kann man nicht instanziieren
25
![Page 26: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/26.jpg)
Abstrakte Klasse: GeoPrimitive
26
![Page 27: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/27.jpg)
Erweiterung der abstrakten Klasse
27
![Page 28: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/28.jpg)
Nutzung der abstrakten Klasse
28
![Page 29: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/29.jpg)
Hierarchiemit abstraktenKlassen
29
Selbstabstrakt
![Page 30: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/30.jpg)
30
![Page 31: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/31.jpg)
Schnittstellen / Interfaces
31
![Page 32: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/32.jpg)
32
![Page 33: 1. Generalisierung/Spezialisierung Subtypisierung/Vererbung Bringt Struktur in die Klassen-Diagramme Erhöht die Wiederverwendbarkeit Erlaubt die schrittweise](https://reader036.vdocuments.site/reader036/viewer/2022062417/55204d7549795902118c9990/html5/thumbnails/33.jpg)
Typ-Anfragen und Type-Casting
33