Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Objektorientierte Vererbung

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientierte Vererbung"—  Präsentation transkript:

1 Objektorientierte Vererbung
Person haarfarbe :String Student erbt von Person: extensional: Menge der Studenten ist Teilmenge der Personen Typsicht: Person p = new Student (); ist zuweisungskompatibel. Substituierbarkeit: Studenten haben alle Eigenschaften von Personen Student matNr :Integer Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

2 Polymorphie durch Methodenredefinition:
Person haarfarbe :String payLunch () Prof topic :String payLunch () Student matNr :Integer payLunch () Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

3 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

4 Mehrfachvererbung Person haarfarbe :String payLunch () Prof Student
topic :String payLunch () Student matNr :Integer payLunch () Zwitter Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

5 Caveats: Person Attributüberdeckung Student
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

6 Caveats: Person Methodenredefinition und Parameter Student
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

7 Caveats: Person Initialisierung Student
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

8 Caveats: Person Student
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

9 Klassische Streitfragen
Rechteck Quadrat Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

10 Wann Vererbung verwenden?
im Zweifel gar nicht Auslagern gemeinsamer Eigenschaften Design Pattern Libraries / Frameworks Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

11 Wann Vererbung verwenden?
im Zweifel gar nicht Auslagern gemeinsamer Eigenschaften Design Pattern Libraries / Frameworks Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

12 Strategy Pattern ersetze if-then-else-if Ketten
Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

13 If-then-else-if Kette:
House run () ring () mode : int Struktur Verhalten Daten public void ring () { if (mode == SIRENE) { …} else if (mode == FLASH) { …} else if (mode == MAIL) { …} … Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

14 Strategy Pattern: alarm :House :FlashLight class House {
ring () Alarm ring () alarm FlashLight ring () Sirene ring () MailAlarm ring () Struktur Verhalten Daten :House :FlashLight class House { public void ring () { alarm.ring (); } :Sirene :MailAlarm Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

15 Strategy Pattern: alarm :House :FlashLight :Sirene :MailAlarm House
ring () Alarm ring () alarm FlashLight ring () Sirene ring () MailAlarm ring () Struktur Verhalten Daten :House :FlashLight :Sirene :MailAlarm Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

16 Strategy Pattern: Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

17 Wann Vererbung verwenden?
Fazit: Vererbung zur Strukturierung von Daten eher selten Hauptsächlich Strukturierung von Programmen Verwendung bei großen Programmen Bibliotheks-Komponenten Rahmenwerken Vorlesungen: Software Engineering 1 und Software Engineering 2 Design Pattern Programmiermethodik SS © 2005 Albert Zündorf, University of Kassel

18 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel

19 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel


Herunterladen ppt "Objektorientierte Vererbung"

Ähnliche Präsentationen


Google-Anzeigen