Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.

Ähnliche Präsentationen


Präsentation zum Thema: "Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard."—  Präsentation transkript:

1 Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard

2 Geosoftware I – Lars Bernard Ziel Begriff Vererbung (im OO Sinne) einführen Metapher des Vererbens Arten von Vererbung in der Objektorientierung Vererbung in Java

3 Geosoftware I – Lars Bernard Was ist Vererbung ? Eine Metapher aus der Biologie dort ihrerseits als Metapher aus dem Recht (Hinterlassenschaft) Bedeutung in der OOP Weitergabe von Eigenschaften von Klasse zu Klasse in Hierarchien von Klassen

4 Geosoftware I – Lars Bernard Beispiel

5 Geosoftware I – Lars Bernard Wozu Vererbung ? Abstraktion durch Generalisierung IS-A Beziehung zwischen Klassen StudentIn IS-A Uni-Angehörige(r) nicht verwechseln mit Instanz-Beziehung Karl Muster ist ein Student dadurch konzeptionelle Klarheit weniger Programmier-Aufwand alle Uni-Angehörigen haben einen Namen alle MitarbeiterInnen haben ein Gehalt

6 Geosoftware I – Lars Bernard Wozu Vererbung ? Organisation des Programm-Codes in Klassenhierarchien statt in Schritten eines Programmablaufs Überladen (overloading) von Operations-Namen z.B. + als Operatorname für Addition von Integern, Float und Double aber auch für Konkatenation von Strings Polymorphismus (s. nächste Woche)

7 Geosoftware I – Lars Bernard Wozu Vererbung ? Wiederverwendbarkeit neue Klassen können aus bestehenden gebildet werden eine SH ist ein(e) MitarbeiterIn, der/die studiert ein(e) Geoinformatik-StudentIn ist ein(e) StudentIn, der/die an 2 Fachbereichen studiert die Definition von Methoden kann angepasst werden das Gehalt von SH und WH berechnet sich nach Wochenstunden, jenes von WM nach Bruchteilen

8 Geosoftware I – Lars Bernard Was kann vererbt werden ? Verhalten d.h. Operationen (Methoden) z.B. Gehaltsberechnung Struktur d.h. Attribute z.B. Alter Java: Struktur & Verhalten

9 Geosoftware I – Lars Bernard Wie wird vererbt ? In Hierarchien von Klassen vgl. Taxonomien in der Biologie erbende Klassen sind Subtypen der Superklasse(n) Durch Spezialisierung der Klassen zusätzliche Methoden zusätzliche Variablen Einfach oder mehrfach Mehrfachvererbung: mehrere Superklassen

10 Geosoftware I – Lars Bernard Bsp zur Vererbung in Java: Ein Punkt mit Namen class NamedPoint extends Point{ private String name; NamedPoint(double xIn, double yIn, String nameIn) { // Aufruf constructor der Superklasse: super(xIn,yIn); name = nameIn; } String getName(){return name;} void setName(String nameIn){ name = nameIn;} }

11 Geosoftware I – Lars Bernard Bsp. Java: Punkt mit Name import java.util.*; public class NamedPointExample { public static void main(String[] args) { Point aPoint = new Point(1,2); NamedPoint aNamedPoint = new NamedPoint (3,4,"Test"); System.out.println("A point: ("+ aPoint.getX() + ", "+ aPoint.getY() + ")" ); System.out.println("A named point: ("+ aNamedPoint.getX() + ", + aNamedPoint.getY() + ", " + aNamedPoint.getName() + ")" ); // Java supports (automatic) down & up cast: aPoint = aNamedPoint; // "up cast" System.out.println("A point: ("+ aPoint.getX() + ", "+ aPoint.getY() + ")" ); aPoint = new NamedPoint (5,6,"TestAgain"); aNamedPoint = (NamedPoint)aPoint; // down cast" System.out.println("A named point: ("+ aNamedPoint.getX() + ", + aNamedPoint.getY()+ ", "+ aNamedPoint.getName() + ")" ); }

12 Geosoftware I – Lars Bernard Zusammenfassung Vererbung ist ein wesentliches Konzept der Objektorientierung. Es dient zur Abstraktion beim Entwurf zur Organisation des Codes zur Wiederverwendung des Codes Ausblick: Polymorphismus: eine Methode hat verschiedene Formen Interfaces: Polymorphismus in Java

13 Geosoftware I – Lars Bernard Aufgabe 3 die HA 3 via an: Lars Bernard Simon Jirka Montag 19.05; st


Herunterladen ppt "Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard."

Ähnliche Präsentationen


Google-Anzeigen