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

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Einführung in die Programmierung Zusammenfassung
Kritische Betrachtung
Zusammenfassung des Kapitels 8
der Universität Oldenburg
Java: Objektorientierte Programmierung
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Abstrakte Klassen.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 5 Sitzung 5: Polymorphismus.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 1
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung X1 Sitzung X1: Packages & Wiederholung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Imperative Programmierung Funktionen und Parameter
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Abstrakte Klassen DVG
DVG Einführung in Java1 Einführung in JAVA.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Klassen 02 - Klassen.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Bestimmung des ggT zweier Zahlen
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sitzung 3: Klassen, Objekte, Arrays und Kontrollstrukturen
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
2.4 Rekursion Klassifikation und Beispiele
Objektorientiertes Konstruieren
Klassenhierarchien, Vererbung
EPROG Tutorium #4 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Objektorientierte Modellierung mit UML
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Objektorientierte Programmierung (OOP)
Vererbung.
 Präsentation transkript:

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

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

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

Geosoftware I – Lars Bernard Beispiel

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

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)

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

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

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

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;} }

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() + ")" ); }

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

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