Polymorphie 
in objektorientierten Programmiersprachen 
Johannes Diemke 
johannes.diemke@uni-oldenburg.de 
27. Februar 201...
Motivation 
Wir entwickeln ein Hochschulinformationssystem (HIS) 
Aufgaben eines HIS: 
Studierendenverwaltung 
Lehrendenve...
Motivation 
Wir entwickeln ein Hochschulinformationssystem (HIS) 
Aufgaben eines HIS: 
Studierendenverwaltung 
Lehrendenve...
Anforderungen 
Anforderung an das HIS (1. Iteration) 
In einem ersten Schritt wollen wir ProfessorInnen verwalten: 
Anlege...
Anforderungen 
Anforderung an das HIS (1. Iteration) 
In einem ersten Schritt wollen wir ProfessorInnen verwalten: 
Anlege...
Anforderungen 
Anforderung an das HIS (1. Iteration) 
In einem ersten Schritt wollen wir ProfessorInnen verwalten: 
Anlege...
Klassen in Java 
Johannes Diemke Polymorphie 27. Februar 2014 4 / 17
HIS in Java 
Johannes Diemke Polymorphie 27. Februar 2014 5 / 17
HIS in Java 
Ausgabe 
Professor[Sheldon Cooper, FB: Theoretische Physik] 
Professor[Egon Spengler, FB: Parapsychologie] 
J...
Weitere Anforderungen 
Anforderung an das HIS (2. Iteration) 
In einem zweiten Schritt wollen wir zusatzlich StudentInnen...
Weitere Anforderungen 
Anforderung an das HIS (2. Iteration) 
In einem zweiten Schritt wollen wir zusatzlich StudentInnen...
Vererbung (Inheritance) 
#vorname: String 
#name: String 
Person 
+Person(vorname: String, nachname: String) 
+setVorname(...
Vererbung (Inheritance) 
#vorname: String 
#name: String 
Person 
+Person(vorname: String, nachname: String) 
+setVorname(...
Vererbung (Inheritance) 
Kinder erben Methoden und Felder von Elternklasse 
Vermeidet Wiederholungen (Copy Paste) 
Erhoht...
Vererbung (Inheritance) 
Kinder erben Methoden und Felder von Elternklasse 
Vermeidet Wiederholungen (Copy Paste) 
Erhoht...
Vererbung in Java 
Johannes Diemke Polymorphie 27. Februar 2014 9 / 17
Vererbung in Java 
Johannes Diemke Polymorphie 27. Februar 2014 10 / 17
Vererbung in Java 
Johannes Diemke Polymorphie 27. Februar 2014 11 / 17
HIS in Java (Version 2) 
Johannes Diemke Polymorphie 27. Februar 2014 12 / 17
HIS in Java (Version 2) 
Ausgabe 
Professor[Sheldon Cooper, FB: Theoretische Physik] 
Professor[Egon Spengler, FB: Paraspy...
Polymorphie 
Person 
+toString() : String 
„is-a“-Beziehung 
Student 
+toString() : String 
Vielgestaltigkeit (griechisch:...
Polymorphie 
Person 
+toString() : String 
„is-a“-Beziehung 
Student 
+toString() : String 
Frage 
Welche Implementierung ...
Polymorphie 
Person 
+toString() : String 
„is-a“-Beziehung 
Student 
+toString() : String 
Frage 
Welche Implementierung ...
Polymorphie 
Frage 
Haben Sie eine Idee wie sich mittels Polymorphie die Ausgabe aller 
StudentInnen und ProfessorInnen ve...
HIS in Java (Version 3) 
Johannes Diemke Polymorphie 27. Februar 2014 16 / 17
HIS in Java (Version 3) 
Ausgabe 
Professor[Sheldon Cooper, FB: Theoretische Physik] 
Professor[Egon Spengler, FB: Parapsy...
Vielen Dank fur Ihre Aufmerksamkeit! 
Johannes Diemke Polymorphie 27. Februar 2014 17 / 17
Nächste SlideShare
Wird geladen in …5
×

Polymorphie

619 Aufrufe

Veröffentlicht am

Slides of a trial lecture about polymorphism held at the University of Applied Sciences.

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
619
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Polymorphie

  1. 1. Polymorphie in objektorientierten Programmiersprachen Johannes Diemke johannes.diemke@uni-oldenburg.de 27. Februar 2014 Johannes Diemke Polymorphie 27. Februar 2014 1 / 17
  2. 2. Motivation Wir entwickeln ein Hochschulinformationssystem (HIS) Aufgaben eines HIS: Studierendenverwaltung Lehrendenverwaltung Prufungsmanagement Lehrraummanagement . . . Johannes Diemke Polymorphie 27. Februar 2014 2 / 17
  3. 3. Motivation Wir entwickeln ein Hochschulinformationssystem (HIS) Aufgaben eines HIS: Studierendenverwaltung Lehrendenverwaltung Prufungsmanagement Lehrraummanagement . . . Johannes Diemke Polymorphie 27. Februar 2014 2 / 17
  4. 4. Anforderungen Anforderung an das HIS (1. Iteration) In einem ersten Schritt wollen wir ProfessorInnen verwalten: Anlegen neuer ProfessorInnen Ausgeben aller ProfessorInnen Johannes Diemke Polymorphie 27. Februar 2014 3 / 17
  5. 5. Anforderungen Anforderung an das HIS (1. Iteration) In einem ersten Schritt wollen wir ProfessorInnen verwalten: Anlegen neuer ProfessorInnen Ausgeben aller ProfessorInnen Welches objektorientierte Konzept fallt Ihnen fur die Implementierung ein? Fachbereich Name Vorname Johannes Diemke Polymorphie 27. Februar 2014 3 / 17
  6. 6. Anforderungen Anforderung an das HIS (1. Iteration) In einem ersten Schritt wollen wir ProfessorInnen verwalten: Anlegen neuer ProfessorInnen Ausgeben aller ProfessorInnen Welches objektorientierte Konzept fallt Ihnen fur die Implementierung ein? Fachbereich Name Vorname #vorname: String #name: String #fachbereich: String Professor +Professor(vorname: String, nachname: String, fb: String) +setVorname(vorname: String) +getVorname() : String +setName(name: String) +getName() : String +setFachbereich(fb: String) +getFachbereich() : String Johannes Diemke Polymorphie 27. Februar 2014 3 / 17
  7. 7. Klassen in Java Johannes Diemke Polymorphie 27. Februar 2014 4 / 17
  8. 8. HIS in Java Johannes Diemke Polymorphie 27. Februar 2014 5 / 17
  9. 9. HIS in Java Ausgabe Professor[Sheldon Cooper, FB: Theoretische Physik] Professor[Egon Spengler, FB: Parapsychologie] Johannes Diemke Polymorphie 27. Februar 2014 5 / 17
  10. 10. Weitere Anforderungen Anforderung an das HIS (2. Iteration) In einem zweiten Schritt wollen wir zusatzlich StudentInnen verwalten: Anlegen neuer StudentInnen Ausgeben aller StudentInnen und ProfessorInnen Johannes Diemke Polymorphie 27. Februar 2014 6 / 17
  11. 11. Weitere Anforderungen Anforderung an das HIS (2. Iteration) In einem zweiten Schritt wollen wir zusatzlich StudentInnen verwalten: Anlegen neuer StudentInnen Ausgeben aller StudentInnen und ProfessorInnen Was fallt Ihnen auf? Welches objektorientierte Konzept fallt Ihnen ein? Fachbereich Name Vorname MatrikelNr Name Vorname Johannes Diemke Polymorphie 27. Februar 2014 6 / 17
  12. 12. Vererbung (Inheritance) #vorname: String #name: String Person +Person(vorname: String, nachname: String) +setVorname(vorname: String) +getVorname() : String +setName(name: String) +getName() : String Professor #fachbereich: String +Professor(vorname: String, nachname: String, fb: String) +setFachbereich(fb: String) +getFachbereich() : String Student #matrikelNr : String +Student(vorname: String, nachname: String, mn: String) +setMatrikelNr(mn: String) +getMatrikelNr() : String Johannes Diemke Polymorphie 27. Februar 2014 7 / 17
  13. 13. Vererbung (Inheritance) #vorname: String #name: String Person +Person(vorname: String, nachname: String) +setVorname(vorname: String) +getVorname() : String +setName(name: String) +getName() : String Professor #fachbereich: String +Professor(vorname: String, nachname: String, fb: String) +setFachbereich(fb: String) +getFachbereich() : String Student #matrikelNr : String +Student(vorname: String, nachname: String, mn: String) +setMatrikelNr(mn: String) +getMatrikelNr() : String Wie hilft das bei der Programmierung? Johannes Diemke Polymorphie 27. Februar 2014 7 / 17
  14. 14. Vererbung (Inheritance) Kinder erben Methoden und Felder von Elternklasse Vermeidet Wiederholungen (Copy Paste) Erhoht Wartbarkeit Anderungen nur an einer Stelle Methoden konnen in Kindklassen uberschrieben werden Spezialisiertes Verhalten Johannes Diemke Polymorphie 27. Februar 2014 8 / 17
  15. 15. Vererbung (Inheritance) Kinder erben Methoden und Felder von Elternklasse Vermeidet Wiederholungen (Copy Paste) Erhoht Wartbarkeit Anderungen nur an einer Stelle Methoden konnen in Kindklassen uberschrieben werden Spezialisiertes Verhalten Person +toString() : String „is-a“-Beziehung Student +toString() : String Johannes Diemke Polymorphie 27. Februar 2014 8 / 17
  16. 16. Vererbung in Java Johannes Diemke Polymorphie 27. Februar 2014 9 / 17
  17. 17. Vererbung in Java Johannes Diemke Polymorphie 27. Februar 2014 10 / 17
  18. 18. Vererbung in Java Johannes Diemke Polymorphie 27. Februar 2014 11 / 17
  19. 19. HIS in Java (Version 2) Johannes Diemke Polymorphie 27. Februar 2014 12 / 17
  20. 20. HIS in Java (Version 2) Ausgabe Professor[Sheldon Cooper, FB: Theoretische Physik] Professor[Egon Spengler, FB: Paraspychologie] Student[Peter Venkman, MN: 8546120] Johannes Diemke Polymorphie 27. Februar 2014 12 / 17
  21. 21. Polymorphie Person +toString() : String „is-a“-Beziehung Student +toString() : String Vielgestaltigkeit (griechisch: polys " viel, morphe " Form) " Eine Unterklasse (etwas Spezielles) kann eine Oberklasse (etwas Allgemeines) vertreten Automatischer Aufruf der richtigen Methode (spate Bindung) Johannes Diemke Polymorphie 27. Februar 2014 13 / 17
  22. 22. Polymorphie Person +toString() : String „is-a“-Beziehung Student +toString() : String Frage Welche Implementierung von toString() wird aufgerufen? Johannes Diemke Polymorphie 27. Februar 2014 14 / 17
  23. 23. Polymorphie Person +toString() : String „is-a“-Beziehung Student +toString() : String Frage Welche Implementierung von toString() wird aufgerufen? Antwort Die Implementierung aus der Student Klasse. Johannes Diemke Polymorphie 27. Februar 2014 14 / 17
  24. 24. Polymorphie Frage Haben Sie eine Idee wie sich mittels Polymorphie die Ausgabe aller StudentInnen und ProfessorInnen vereinfachen lasst? Johannes Diemke Polymorphie 27. Februar 2014 15 / 17
  25. 25. HIS in Java (Version 3) Johannes Diemke Polymorphie 27. Februar 2014 16 / 17
  26. 26. HIS in Java (Version 3) Ausgabe Professor[Sheldon Cooper, FB: Theoretische Physik] Professor[Egon Spengler, FB: Parapsychologie] Student[Peter Venkman, MN: 8546120] Johannes Diemke Polymorphie 27. Februar 2014 16 / 17
  27. 27. Vielen Dank fur Ihre Aufmerksamkeit! Johannes Diemke Polymorphie 27. Februar 2014 17 / 17

×