Informatik II Übung 6
|
|
- Karlheinz Holzmann
- vor 5 Jahren
- Abrufe
Transkript
1 Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch Carina Fuss
2 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces, Generics Vorbesprechung Übung 6 Carina Fuss
3 Nachbesprechung Übung 5 Carina Fuss
4 Übung 5 Aufgabe 1 einfach verkettete Listen Carina Fuss
5 Übung 5 Aufgabe 1 einfach verkettete Listen Carina Fuss
6 Übung 5 Aufgabe 2 Modifizierung von Listen Carina Fuss
7 Übung 5 Aufgabe 2 Modifizierung von Listen Carina Fuss
8 Übung 5 Aufgabe 2 Modifizierung von Listen Carina Fuss
9 Übung 5 Aufgabe 3 Sortieren von Listen Carina Fuss
10 Übung 5 Aufgabe 4 wachsender Stack Carina Fuss
11 Übung 5 Aufgabe 4 wachsender Stack Carina Fuss
12 Übung 5 Aufgabe 4 wachsender Stack Carina Fuss
13 Stack mit Array vs. Stack mit verketteter Liste Demo Overhead: Es müssen ausser den Nutzdaten noch zusätzliche Daten gespeichert werden. (hier: Pointer auf nächstes Element) Carina Fuss
14 Objektorientierung Carina Fuss
15 Klassenhierarchie Person Koch Bauer public class Chef extends Person{} public class Farmer extends Person{} Carina Fuss
16 Beispiel Klasse Person Person: name age address Person() tostring() getname() getage() getaddress() setaddress(newaddress) birthday() olderthan(person) averageage(ages) Attribute Konstruktor tostring-methode Getter-Methoden Setter-Methode static-methode: wird nicht für ein Objekt, sondern für die ganze Klasse aufgerufen (Person.averageAge( )) Instanzenmethoden Carina Fuss
17 Beispiel Klasse Koch Person: name age address Person() tostring() getname() getage() getaddress() setaddress(newaddress) overrides Chef: stars bestdish Chef() tostring() getstars() getbestdish() zusätzliche Attribute neuer Konstruktor, der den Konstruktor der Basisklasse mit super( ) aufruft zusätzliche Methoden birthday() olderthan(person) averageage(ages) alle Attribute und Methoden von Person werden von Koch geerbt oder überschrieben Carina Fuss
18 Basisklasse abgeleitete Klasse: Vererbung Koch erweitert ein bestehendes Konzept, die Person Koch/Chef erbt von Person public class Chef extends Person{} hat zusätzliche Eigenschaften: enthält zusätzliche Attribute/Methoden Koch definiert zusätzlichen Konstruktor Basisklasse aufrufen mit super( ) this: Referenz auf Objekt, in dem man sich gerade befindet vermeidet Namenskonflikte Koch kann: neue Attribute hinzufügen int stars, String bestdish neue Methoden hinzufügen getstars(), getbestdish() bestehende Methoden überschreiben (override) tostring() Carina Fuss
19 Basisklasse abgeleitete Klasse: Polymorphie Achtung: Koch kann nicht: Attribute entfernen Methoden entfernen tostring: polymorphe Methode hat in verschiedenen Klassen die gleiche Signatur, ist aber unterschiedlich implementiert dynamic binding / late binding: erst zur Laufzeit wird bestimmt, welche Methode für das gegebene Objekt verwendet wird es wird jeweils die Methode aus der gleichen Klasse oder der Klasse, die zuunterst im Vererbungszweig ist, verwendet (falls sie in der gleichen Klasse nicht vorkommt) gilt auch für weitere Unterklassen, z. B. Bauer/Farmer Carina Fuss
20 Warum Vererbung? besseres Design & Struktur Abstraktion der realen Welt, Modellierung von ist ein -Beziehungen z.b. Koch Hans Hans ist ein Koch und Hans ist auch eine Person Wiederverwendung von Code bessere Wartbarkeit Carina Fuss
21 Sichtbarkeit private nur in der gleichen Klasse sichtbar protected im gleichen package sichtbar (z. B. auch in den abgeleiteten Klassen) auch in abgeleiteten Klassen in anderen packages sichtbar kein Stichwort nur im gleichen package sichtbar public für alle sichtbar abgeleitete Klassen übernehmen Sichtbarkeit, darf nicht reduziert («überschrieben») werden! Carina Fuss
22 Polymorphie Eine Variable vom Typ Basisklasse darf auch ein Objekt einer abgeleiteten Klasse enthalten. Aber nicht umgekehrt! Person Ein Koch ist auch eine Person. Eine Person ist nicht unbedingt ein Koch. Koch Bauer «A chef is an instance of a person.» Carina Fuss
23 instance of Person p = new Person( ); Chef c = new Chef( ); Farmer f = new Farmer( ); Koch Person Bauer p instanceof Person true c instanceof Person true f instanceof Person true p instanceof Chef false c instanceof Farmer false Carina Fuss
24 Zuweisungskompatibilität Static und Dynamic Cast Person p = new Person( ); Chef c = new Chef( ); Farmer f = new Farmer( ); Koch Person Bauer Person pc = c ok Person pf = f ok Chef cp = p compile error Chef cpc = pc compile error Chef dcpc= (Chef) pc ok Farmer dfpc = (Farmer) pc runtime error Carina Fuss
25 Klasse Object in Java Ist die Oberklasse aller Klassen in Java, auch von selbstprogrammierten Klassen Basistypen wie int nicht enthalten, da keine Klassen! Wird eine Klasse definiert, erbt sie implizit von Object. Object public class MyClass { } ist äquivalent zu: public class MyClass extends Object { } Person Koch Bauer Carina Fuss
26 Final: Methoden und Klassen Eine Unterklasse kann die Methoden der Oberklasse verwenden die Methoden der Oberklasse überschreiben (override) Eine mit final deklarierte Methode in der Oberklasse kann in der Unterklasse nicht überschrieben werden! Von einer mit final deklarierten Klasse kann nicht geerbt werden! z.b. Integer, Character, usw. Carina Fuss
27 abstrakte Klassen abstract-methode: wird in dieser Klasse nicht implementiert muss von allen abgeleiteten Klassen implementiert werden sonst Compiler-Fehler! abstract-klasse: Klasse, die mindestens eine abstract-methode enthält Davon kann man keine Objekte mit new erzeugen! Beispiel Demo: Klasse Vehicle Methode getmaxspeed() Carina Fuss
28 Interfaces / Schnittstellen ähnlich wie abstrakte Klasse: deklariert Methodensignaturen, die von implementierenden Klassen implementiert werden müssen (implements statt extends) Eine implementierende Klasse muss alle Methodendeklarationen des Interfaces implementieren! Neuerung in Java 8: Mit default kann man schon im Interface Methoden implementieren. Mehrfachvererbung: Mit Klassen nicht möglich: Eine Klasse kann nur von einer Klasse erben (nach extend nur eine Klasse)! Aber: Eine Klasse kann mehrere Interfaces implementieren. Beispiel in Demo: Comparable (wird implementiert von Vehicle) Carina Fuss
29 abstrakte Klasse vs. Interface Abstrakte Klasse Interface kann vollständige Implementierungen und/oder Methodendeklarationen enthalten Methoden können protected sein enthält in der Regel keine Implementierungen (Ausnahme: default in Java 8) alle Methoden implizit public kann Attribute und Konstanten enthalten alle enthaltenen Variablen sind Konstanten (public static final) Carina Fuss
30 Factory-Methode Beispiel in Demo: IVehicleListUtils wird implementiert durch VehicleListUtils. Wir arbeiten mit VehicleListUtils. Es wird festgestellt: IVehicleListUtils kann besser implementiert werden, durch BetterVehicleListUtils. Es müssten jetzt alle VehicleListUtils im Code manuell durch BetterVehicleListUtils ersetzt werden Mit Factory-Methode: nichts muss ersetzt werden, nur die Factory-Methode geändert Carina Fuss
31 Generics / parametrisierte Typen funktioniert nur für Objekte vom Typ Object funktioniert für Objekte beliebigen Typs generische Methode Carina Fuss
32 ArrayList Arrays dynamischer Länge, ähnlich zu Vektoren in C++ abgeleitete Klasse von List, stellt Methoden wie add, size, set, remove usw. zur Verfügung kann Objekte beliebigen Typs speichern, aber: Laufzeitfehler bei falschen Typumwandlunge Typsicherheit durch Nutzung von Generics: Compiler weiss, von welchem Typ die Elemente der Liste sind Carina Fuss
33 Vorbesprechung Übung 6 Carina Fuss
34 Übung 6 Aufgabe 1 Klassen, Schnittstellen, Typuwandlungen verschiedene Klassen und Schnittstellen Diagramm zeichnen Für welche Klassen kann man mit new neue Objekte erzeugen? Welche Zuweisungen funktionieren? vehicle = bike; ok bike = vehicle; falsch! bike = (bike) vehicle; ok Carina Fuss
35 Übung 6 Aufgabe 2 Schnittstellen, Implementierung Interface IStack, Klasse ListStack implementiert IStack Factory-Methode StackFactory.create implementieren wie im Beispiel! neue Methode im Interface ergänzen und in der implementierenden Klasse ListStack implementieren neuen Test schreiben: schon bestehende Tests nachahmen Carina Fuss
36 Übung 6 Aufgabe 3 Polymorphie GenericList: generische Liste (für Elemente mit beliebigem Typ) IListUtils benutzt GenericLists ListUtils implementiert IListUtils (Methoden tostring, add und size) neues File erstellen Fabrikmethode für IListUtils wie im Beispiel implementieren GeometricObject: abstrakte Klasse für geometrische Objekte mit abstrakter Methode area area muss von den beiden abgeleiteten Klassen Rectangle und Triangle implementiert werden GeometricObject implementiert Interface Comparable Methode smallerthan aus Comparable muss von GeometricObject implementiert werden smallerthan vergleicht geometrische Objekte mit Flächeninhalt (kann also auch Dreiecke mit Rechtecken vergleichen ) Carina Fuss
37 Übung 6 Aufgabe 3 Polymorphie Objekte, deren Klassen das Interface Comparable implementieren, können durch generischen Sortieralgorithmus sortiert werden. Solche Objekte sind vergleichbar. Implementierung von IListUtils definiert Methode sort für generische Listen. Bei Implementierung davon ausgehen, dass alle Objekte der Liste Comparable-Objekte, also vergleichbar, sind. Sortieralgorithmus grösstenteils analog zur Implementierung aus letzter Übungsserie Carina Fuss
38 Übung 6 Aufgabe 4 Stacks und Optimierung kombiniere Listen und Arrays: ChunkList Liste aus Arrays beim Erreichen der Kapazitätsgrenze des Arrays wird ein neues Array an die Liste angehängt ChunckedStack: Stack aus einer ChunkList IStack (Aufgabe 2) soll durch ChunkedStack implementiert werden Fabrikmethode zum Testen anpassen soll ein ChunkedStack-Objekt zurückgeben Performanzvergleich (mit vorheriger Implementierung eines wachsenden Stacks) durchführen Welche Implementierung ist schneller? Warum? Wie geht es effizienter? Carina Fuss
39 Fragen? Carina Fuss
Informatik II - Tutorium 6
Informatik II - Tutorium 6 Vincent Becker vincent.becker@inf.ethz.ch 11.04.2018 Vincent Becker 11.04.2018 1 Teilnehmer für Projekte gesucht Falls jemand gerne an Experimenten teilnimmt, ein Email an mich
MehrÜbungsserie Nr. 6. Ausgabe: 1. April 2015 Abgabe: 15. April Hinweise
Informatik II (D-ITET) Frühjahrssemester 2015 Prof. Friedemann Mattern Christian Beckel (beckel@inf.ethz.ch) ETH Zürich Institut für Pervasive Computing Gruppe für Verteilte Systeme http://vs.inf.ethz.ch
MehrInformatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich
Informatik II Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Uebungsbezogene Themen: Statisches & Dynamisches Type Checking Zeit zum Programmieren...
MehrInformatik II Übung 7. Gruppe 2 Carina Fuss
Informatik II Übung 7 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 18.4.2018 Carina Fuss 16.4.2018 1 Übung 7 Hinweise zum Programmieren Nachbesprechung Übung 6 Vorbesprechung Übung 7 ArrayList und Generics
MehrInformatik II Übung 6 Gruppe 4
Informatik II Übung 6 Gruppe 4 (Folien teils von Christian B. und Christelle G.) Lukas Burkhalter lubu@inf.ethz.ch Informatik II Übung 6 Lukas Burkhalter 11.04.2018 1 Programm Heute Code Style Rückblick
MehrInformatik II - Tutorium 7
Informatik II - Tutorium 7 Vincent Becker vincent.becker@inf.ethz.ch 18.04.2018 Vincent Becker 19.04.2018 1 Altklausuren verfügbar Für regisitrierte AMIV-Mitglieder Mehrere Altklausuren Disclaimer lesen!
MehrInformatik II (D-ITET) Übungsstunde 6
Informatik II (D-ITET) Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 5 Besprechung der Vorlesung Die neue Serie... Zeit zum Programmieren / für
MehrInformatik II Übung 6
Informatik II Übung 6 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 11.03.2013
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
MehrInformatik II - Übung 06. Christian Beckel
Informatik II - Übung 06 Christian Beckel beckel@inf.ethz.ch 01.04.2015 Heute Besprechung Blatt 05 (kurz) Objektorientierte Programmierung Hinweise zu Blatt 06 Christian Beckel 01/04/15 2 Besprechung Übungsblatt
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrInformatik II - Übung 06
Informatik II - Übung 06 Katja Wolff katja.wolff@inf.ethz.ch Besprechung Übungsblatt 5 Informatik II Übung 06 05.04.2017 2 U5 1.) Einfach verkettete Listen 2.) Modifizierung verketteter Listen 3.) Sortieren
MehrInformatik II Übung 6. Pascal Schärli
Informatik II Übung 6 pascscha@student.ethz.ch Was gibts heute? Warm-Up Nachbesprechung Serie 5 Best-Of Vorlesung: Klassenhierarichie Abstrakte Klassen Factories Vorbesprechung Serie 6 2 Warm - Up Warm
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
MehrInformatik II (D-ITET) Übungsstunde 6,
Informatik II (D-ITET) Übungsstunde 6, 6.04.2017 Hossein Shafagh, shafagh@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Kurze Besprechung von Übung 5 More Java insights (Inheritance & Interfaces)
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
MehrWiederholung. Klassenhierarchie:
Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrAlgorithmen und Datenstrukturen 07
(7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrDie abstrakte Klasse Expression:
Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrInformatik II Übung 6 Gruppe 7
Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrTeil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II
Teil 2-3. Vorlesung Modul: Programmierung B-PRG Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 Wrapper-Klassen Alle primitive Datentypen haben eine
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
MehrInfo B VL 8: Abstrakte Klassen & Interfaces
Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte
MehrInformatik II Übung 7 Gruppe 3
Informatik II Übung 7 Gruppe 3 Julia Gygax jgygax@student.ethz.ch Julia Gygax 18.04.2018 1 Nachbesprechung Übung 6 Julia Gygax 18.04.2018 2 Aufgabe 1 Klassen, Schnittstellen und Typumwandlungen Julia Gygax
MehrProgrammieren 1 09 Vererbung und Polymorphie
Programmieren 1 09 Vererbung und Polymorphie Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 I. VERERBUNG 2 2 Vererbung Von Interfaces übernehmen
MehrJava Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrInformatik II (D-ITET) Übungsstunde 6,
Informatik II (D-ITET) Übungsstunde 6, 14.04.2016 Hossein Shafagh, shafagh@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Kurze Besprechung von Übung 5 More Java insights (Inheritance & Interfaces)
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
Mehr14. Java Objektorientierung. Klassen, Vererbung, Kapselung
427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013/14 Aufgabenblatt 6 9. Dezember
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrVererbung. CoMa-Übung XI TU Berlin. CoMa-Übung XI (TU Berlin) Vererbung / 47
Vererbung CoMa-Übung XI TU Berlin 16.01.2013 CoMa-Übung XI (TU Berlin) Vererbung 16.01.2013 1 / 47 Themen der Übung Themen heute Evaluation Rücksprachen IDEs Eclipse & Netbeans Packages, innere Klassen
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrInterfaces und Vererbung
Interfaces und Vererbung Einführung in Java Folie 1 von 31 12. Mai 2011 Ivo Kronenberg Inhalt Interfaces Statische und dynamische Typen Visiblitätsmodifier Vererbung Überschreiben von Methoden Konstruktoren
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 3 29.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klassen ableiten
MehrInformatik II - Übung 07
Informatik II - Übung 07 Katja Wolff katja.wolff@inf.ethz.ch Besprechung Übungsblatt 6 Informatik II Übung 07 12.04.2017 2 Übungsblatt 6 1.) Klassen, Schnittstellen, Typumwandlung 2.) Schnittstellen und
MehrHeute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.
Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis
MehrAufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
MehrVererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1
Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
Mehr1 Einleitung Generizität Syntax... 2
Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................
MehrObjektorientierte Programmierung
Objektorientierte Programmierung WS 2006/2007 Klassen und Vererbung in Java Walter Binder Universität Lugano 2006-11-23 Objektorientierte Programmierung 1 Überblick Konstruktoren Verdecken versus Überschreiben
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrVererbung. Thomas Röfer. Pakete Vererbung Frühes / spätes Binden Lokale Klassen Zugriffsschutz Abstrakte Klassen und Schnittstellen Mehrfaches Erben
Vererbung Thomas Röfer Pakete Vererbung Frühes / spätes Binden Lokale Klassen Zugriffsschutz bstrakte Klassen und Schnittstellen Mehrfaches Erben Rückblick Listen, Stapel, Warteschlangen bstrakte Datentypen
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrTeil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II
Teil 2-3. Vorlesung Modul: Programmierung B-PRG Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 http://nightofscience.de/ 2 Vererbung Syntax Syntax:
MehrSyntax. int a; public A() {...} public void F() {...} }
Vererbung 1 Syntax class A { int a; public A() {... public void F() {... // Oberklasse class B : A { // Unterklasse (erbt von A, erweitert A) int b; public B() {... public void G() {... B erbt a und F(),
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Schnittstellen, Vererbung & Polymorphismus für Fortgeschrittene
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Schnittstellen, Vererbung & Polymorphismus für Fortgeschrittene Motivation Aufgabe: Finanzbuchhaltungssystem für internationale Hotelkette
MehrVererbung. Oberklassen und Unterklassen
Vererbung Oberklassen und Unterklassen Vererbung ist ein zentrale Bestandteil der Objektorientierung. Man beschreibt damit die Möglichkeit, Eigenschaften und Methoden vorhandener Klassen auf andere (neue)
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
MehrJava Grundlagen 2 - OOP
Institut für Programmierung und Reaktive Systeme Java Grundlagen 2 - OOP Markus Reschke 20.08.2014 Eine kleine Geschichte 1 Spezifikation Es sollen Formen in einer GUI angezeigt werden: Ein Quadrat, ein
MehrProgrammiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrProgrammiermethodik 1. Klausur
Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrInformatik II Übung 7. Pascal Schärli
Informatik II Übung 7 pascscha@student.ethz.ch Was gibts heute? Warm-Up Nachbesprechung Serie 6 Best-Of Vorlesung: Generics Binäre Suchbäume Spielbäume Vorbesprechung Serie 7 2 Warm - Up Warm-Up interface
MehrProgrammieren in Java
Einführung in die Objektorientierung Vererbung 2 Packages Packages dienen zur Strukturierung von Klassen Computer.java package BEZEICHNER ; package vorlesung7; public class KLASSEN-BEZEICHNER { public
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
MehrMapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017
Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden
MehrProgrammierkurs Java
Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen
Mehr