9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Ähnliche Dokumente
Grundlagen der Programmierung Prof. H. Mössenböck. 11. Objektorientierung

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

4. Objektorientierung I Grundlagen der Programmierung 1 (Java)

Java Einführung Vererbung und Polymorphie. Kapitel 13

10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Liste Programmieren Java Überblick

2. Java Schnellkurs Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

9. Vererbung und Polymorphie. Informatik Vererbung und Polymorphie 1

II.4.1 Unterklassen und Vererbung - 1 -

Java Vererbung. Inhalt

II.4.1 Unterklassen und Vererbung - 1 -

Polymorphie. 15. Java Objektorientierung II

Polymorphie. 15. Java Objektorientierung II

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

14. Java Objektorientierung

4. Vererbung Die Klasse Object. Die Klasse Object

II.4.1 Unterklassen und Vererbung - 1 -

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Javakurs für Anfänger

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Einführung in die Programmierung I. 11. Vererbung. Stefan Zimmer

14. Java Objektorientierung. Klassen, Vererbung, Kapselung

7. Übung Informatik II - Objektorientierte Programmierung

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

1. Einführung Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006

1. Abstrakte Klassen

Vererbung und Polymorphie

14. Java Objektorientierung

II.4.1 Unterklassen und Vererbung - 1 -

Objektorientierte Programmierung Studiengang Medieninformatik

SWE1 / Übung 9 ( )

Programmieren 2 Java Überblick

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Vererbung, Polymorphismus

Einführung in C# Teil 3. Matthias Nübling

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor:

Vorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3

Javakurs für Anfänger

HERZLICH WILLKOMMEN PROGRAMMIERKURS (JAVA) ZUM. Dr. Vera Weil Institut für Informatik Universität zu Köln. 9. Vorlesung (05.

Arten von Klassen-Beziehungen

Programmieren 1 09 Vererbung und Polymorphie

1 Klassen und Objekte

Die Klasse java.lang.object. Thorsten Treffer

12 Abstrakte Klassen, finale Klassen und Interfaces

Arten von Klassen-Beziehungen

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

IT I: Heute. Nachbetrachtung Wissensüberprüfungen. Einführung Vererbung. Roboter in becker.robots. falls Zeit: Scheduling 8.11.

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Objektorientierte Programmierung Studiengang Medieninformatik

Die abstrakte Klasse Expression:

Programmieren in Java

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

6. Globalübung (zu Übungsblatt 8)

Informatik II Übung 06. Benjamin Hepp 5 April 2017

8. Generics Grundlagen der Programmierung 1 (Java)

Java für Bauingenieure

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Vorkurs Informatik WiSe 15/16

Einstieg in die Informatik mit Java

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus

IT I: Heute. Nachbetrachtung Wissensüberprüfungen. Einführung Vererbung. Roboter in becker.robots IT I - VO 5 1

Exceptions und Vererbung

Sortieren von Objekten

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

Statische Methoden, Vererbung, Benutzereingabe

Vererbung, Polymorphie

Tafelübung 07 Algorithmen und Datenstrukturen

Javakurs für Anfänger

Begriffe 1 (Wiederholung)

Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der

Statische Methoden, Vererbung, Benutzereingabe

C++ - Objektorientierte Programmierung Vererbung

Erste Java-Programme (Java Wiederholung & Vererbung)

Vererbung. Oberklassen und Unterklassen

Die Welt in unseren Programmen false -1.4E-12. false. Klassen

Realisierungsmöglichkeiten für parametrische Polymorphie

Objektorientierte Programmierung. Kapitel 14: Interfaces

10. Programmierungs-Phase: Objektorientierung Software Engineering

Einführung in die Programmierung für NF. Vererbung

Objektorientierte Programmierung mit C++ SS 2007

IT I: Heute. Nachbetrachtung Wissensüberprüfung. Einführung Vererbung. Roboter in becker.robots. Filialenbelieferung 4.11.

Spezifikation, Klassen, Schnittstellen in Java. 2.4 Datenabstraktion, Objektorientierung, Java

Einstieg in die Informatik mit Java

Programmieren in Java

Objektorientierte Programmierung Studiengang Medieninformatik

Einführung in die Systemprogrammierung

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Transkript:

9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Übersicht über den Kurs Einordnung in den gesamten Kurs 1. Einführung 2. Operationen 3. Variablen 4. Kontrollstrukturen 5. Klassen und Objekte 6. Konstruktoren 7. Klassenmethoden 8. Datentypen 9. Vererbung 2 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Agenda Vererbung Dynamisches Binden Literatur

Klassifikation Dinge der realen Welt lassen sich oft klassifizieren z.b. Artikel eines Web-Shops Artikel Buch Audio Kamera... HardCover SoftCover ebook CD Cassette Digital Analog Man beachte Ein ebook hat alle Eigenschaften eines Buchs; zusätzlich hat es... Ein Buch hat alle Eigenschaften eines Artikels; zusätzlich hat es... Vererbung CD und Cassette lassen sich gleichermaßen als Audio behandeln Buch, Audio und Kamera lassen sich gleichermaßen als Artikel behandeln 4 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Vererbung class Article { int code; int price; boolean available() {... void {... Article(int c, int p) {... Oberklasse (Basisklasse) Schlüsselwort extends zeigt Vererbung an Article code price available() Article(c, p) class Book extends Article { String author; String title; void {... Book(int c, int p, String a, String t) {... Unterklasse erbt: code, price, available, print ergänzt: author, title, Konstruktor überschreibt: print Book author title Book(c, p, a, t) Wenn keine Oberklasse angegeben wird, ist sie Object (implizite Oberklasse aller Java-Klassen) 5 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Klassenhierarchien Article code price available() Jedes Buch ist ein Artikel Aber: nicht jeder Artikel ist ein Buch Book author title Audio songs Camera supplier... CD tracks Cassette lengh... 6 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Kompatibilität zwischen Klassen Unterklassen sind Spezialisierungen ihrer Oberklassen Book-Objekte können Article-Variablen zugewiesen werden Article a = new Book(code, price, author, title); a code price author title nur Article-Felder sind über a zugreifbar a.code a.price if (a instanceof Book) Book b = (Book) a; // Laufzeittyptest // Typumwandlung mit Laufzeittypprüfung (Type Cast) b code price author title alle Book-Felder sind über b zugreifbar b.code b.price b.author b.title 7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Agenda Vererbung Dynamisches Binden Binden Literatur

Überschreiben von Methoden class Article {... void { Out.print(code + " " + price); class Book extends Article {... void { super.; Out.print(" " + author + ": " + title); Article(int c, int p) { code = c; price = p; Book(int c, int p, String a, String t) { super(c, p); author = a; title = t; Benutzung Book book = new Book(code, price, author, title); erzeugt Book-Objekt Book-Konstruktor Article-Konstruktor (code = c; price = p;) author = a; title = t; code price author title 9 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008 book book.; print aus Book print aus Article Out.print(...); code price author: title Ausgabe: code price author: title

Dynamische Bindung Heterogene Datenstruktur Article[ ] a; Article available() Book CD Book CD Camera Book Audio Camera Alle Varianten können als Artikel behandelt werden void printarticles() { for (int i = 0; i < a.length; i++) { if (a[i].available()) { a[i].; ruft geerbtes available() aus Article auf ruft je nach Artikelart das aus Book, CD oder Camera auf Dynamische Bindung obj. ruft die print-methode des Objekts auf, auf das obj gerade zeigt 10 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008

Agenda Vererbung Dynamisches Binden Literatur

Zum Weiterlesen Java Tutorial interaktiv Programmieren lernen mit Java (http://www.gailer-net.de/tutorials/java/) 4. Objektorientierte Programmierung Guido Krüger: Handbuch der Java-Programmierung (kostenloser Download unter http://www.javabuch.de/) 7.5.1 Beziehungen (Generalisierung und Spezialisierung) 7.1.6 Polymorphismus 8.1 Vererbung 12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 11.6.2008