1 / 13

Java-Kurs - 9. Übung

Java-Kurs - 9. Übung. Besprechung der Hausaufgabe Klassen und Objekte: Vererbung Konzeptueller Hintergrund: Spezialisierung Modellierung mittels UML Vererben von Variablen Vererben von Methoden Überlagerung von Methoden Zugriff auf überlagerte Methoden. Abstraktion. Klassenhierarchien.

tadhg
Download Presentation

Java-Kurs - 9. Übung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java-Kurs - 9. Übung • Besprechung der Hausaufgabe • Klassen und Objekte: Vererbung • Konzeptueller Hintergrund: Spezialisierung • Modellierung mittels UML • Vererben von Variablen • Vererben von Methoden • Überlagerung von Methoden • Zugriff auf überlagerte Methoden

  2. Abstraktion Klassenhierarchien • konzeptueller Hintergrund: Generalisierung  Spezialisierung • Spezifikation in UML (Unified Modeling Language): spezieller

  3. Beispiel zu Klassenhierarchie Person Verwaltungs-angestellter spezieller Student Dozent Ordentlicher Student Gasthörer

  4. gerade Strecke Spline Kreis-bogen Dreieck Viereck Rechteck Quadrat Beispiel zu Klassenhierarchie Geometrische Figur spezieller 1-dimensionale Figur 2-dimensionale Figur

  5. Klassenhierarchien in Java Syntax: class Unterklasseextends Oberklasse{ . . . } Beispiel: class Person { . . . } class Student extends Person { . . . }

  6. Beispiel zu Klassenhierarchie class Student extends Person {...} class Gasthörer extends Student {...} class Dozent extends Person {...} Person Verwaltungs-angestellter Student Dozent Ordentlicher Student Gasthörer

  7. Vererbung • Eine Unterklasse erbt alle Eigenschaften ihrer Oberklassen • Eine Unterklasse erbt alle Variablen ihrer Oberklassen • Eine Unterklasse erbt alle Methoden ihrer Oberklassen

  8. Vererbung von Attributen und Methoden aVar; aMethode() aVar; bVar; aMethode() bMethode() aVar; bVar; cVar; aMethode() bMethode() cMethode() aVar; bVar; cVar; dVar; aMethode() bMethode() cMethode() dMethode() class A { int aVar; void aMethode(){} } class B extends A{ int bVar; void bMethode(){} } class C extends B{ int cVar; void cMethode(){} } class d extends C{ int dVar; void dMethode(){} }

  9. Variablen und Klassenhierarchie • Eine Referenzvariable kann Objekte von Unterklassen aufnehmen • Beispiel:class Polygon{ }class Rechteck extends Polygon{}Polygon p;Rechteck r = new Rechteck();p = r;p = new Polygon();r = p; //?

  10. Überlagerung • In Unterklasse und Oberklasse Methode mit • gleichem Namen • gleichen Parametern (Anzahl und Typ) • Zweck: Unterklassen modellieren speziellere Objekte; Methoden der Oberklasse müssen häufig ebenfalls spezialisiert werden • Welche Methode wird verwendet? • im Normalfall die speziellste ("tiefste") Methode

  11. Überlagerung: Beispiel class Polygon{ ...double fläche(){ ... } ...} class Rechteck extends Polygon{ ... ...} void main .. { Rechteck r = new Rechteck(); double f = r.fläche(); //Methode aus Polygon }

  12. Überlagerung: Beispiel class Polygon{ ...double fläche(){ ... } ...} class Rechteck extends Polygon{ ... double fläche(){ ... } ...} void main .. { Rechteck r = new Rechteck(); double f = r.fläche(); //Methode aus Rechteck }

  13. Hausaufgabe 8 • Ergänzen Sie die vorgestellten Klassen „Person“ und „Student“ um die Unterklassen „Dozent“ und „Verwaltungsangestellter“. Die Unterklasse „Dozent“ soll dabei noch weiter in „Professor“ und „Assistent“ unterschieden werden. Erzeugen Sie ein Objekt jeder Klasse.

More Related