Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 Objektorientierte Vererbung Student erbt von Person: extensional: Menge der Studenten.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 Objektorientierte Vererbung Student erbt von Person: extensional: Menge der Studenten."—  Präsentation transkript:

1 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 Objektorientierte Vererbung 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 Person haarfarbe :String

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

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

4 4 Mehrfachvererbung Person haarfarbe :String payLunch () Student matNr :Integer payLunch () Prof topic :String payLunch () Zwitter

5 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 5 Caveats: Attributüberdeckung StudentPerson

6 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 6 Caveats: Methodenredefinition und Parameter StudentPerson

7 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 7 Caveats: Initialisierung StudentPerson

8 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 8 Caveats: StudentPerson

9 Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 9 Klassische Streitfragen QuadratRechteck

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

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

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

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

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

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

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

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

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

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


Herunterladen ppt "Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 Objektorientierte Vererbung Student erbt von Person: extensional: Menge der Studenten."

Ähnliche Präsentationen


Google-Anzeigen