2. Vererbung und Polymorphie. Vererbung (1/2) Beispiel (1/2) Vererbung (2/2) Eine Unterklasse wird folgendermaßen definiert
|
|
- Franziska Hochberg
- vor 7 Jahren
- Abrufe
Transkript
1 2. Vererbung und Polymorphie Vererbung (1/2) Vererbung mit extends Konstruktoren bei der Vererbung Überladen von Methoden - statische Polymorphie Casten Dynamische Polymorphie Klasse Object Eine Unterklasse wird folgendermaßen definiert... class Unterklasse extends Oberklasse{... die Unterklasse erbt alle nicht-private Exemplarmethoden und Exemplarvariablen ihrer Oberklasse, nicht aber deren Konstruktoren bei der Erzeugung eines Objekts der Unterklasse wird zuerst der Default-Konstruktor der Oberklasse aufgerufen Vererbung (2/2) mit superkann statt des Default-Konstruktorsein anderer Konstruktor der Oberklasse aufgerufen werden (muss 1. Anweisung sein) ist in der Oberklasse kein Default-Konstruktordefiniert, muss super(...) im Konstruktor der Unterklasse aufgerufen werden alle Klassen haben die Klasse java.lang.objectals Oberklasse Java erlaubt nur Einfachvererbung (Interfaces später) 38 Beispiel (1/2) public class Punkt3D extends Punkt { protected int z; public Punkt3D(int x, int y, int z){ super(x,y); this.z=z; public void moverel(int dx, int dy, int dz){ moverel(dx, dy); //äquivalent super.moverel(dx, dy); z += dz; // x,y in Punkt leider private, Zugriff nur über get //Annotation public String tostring(){ return "["+getx()+","+super.gety()+","+z getx()+","+super.gety()+","+z+"]"; +"]"; 39
2 Beispiel (2/2) public class Main { public static void main(string[] args) { Punkt3D p3d= new Punkt3D(3,4,5); p3d.moverel(1,1,1); p3d.moverel(-1, 1,-1); 1); System.out.println(p3d); [3,4,6] Sollen Exemplarvariablen oder - methoden nur in dieser und erbenden Klassen sichtbar sein, wird protected genutzt -Annotationmarkiert überschriebene Methoden Punkt -x: int -y: int +moveto(int,int moveto(int,int) +moverel(int,int moverel(int,int) Punkt3D #z: int +moverel(int,int,int moverel(int,int,int) Kapselung weitere Möglichkeiten zur Datenkapselung mit privatedeklarierte Variablen und Methoden werden nicht vererbt mit protecteddeklarierte Variablen und Methoden werden vererbt, sind aber außerhalb ihres Paketes (s. später) nicht zugreifbar mit publicdeklarierte Variablen und Methoden werden vererbt und sind überall benutzbar Standardansatz: Exemplarvariablen sind private, außer man will von dieser Klasse erben und sie sollen vererbt werden, dann sind sie protected Überschreiben von Methoden die Implementierung einer Methode einer Basisklasse kann in der abgeleiteten Klasse überschrieben werden hat für ein Objekt eine Methode mehrere Implementierungen in der Klassenhierarchie, so bezieht sich ein Zugriff immer auf die der Klasse des Objekts am wenigsten entfernte (Ober)-Klasse(genau wie in C++) d.h. es wird erst in der Klasse des Objekts selbst, wenn nicht gefunden, dann in der Oberklasse, wenn dann nicht gefunden, dann in deren Oberklasse,... wenn dann nicht gefunden in Object gesucht. 42 Beispiel für Aufrufe überschriebener Methoden public class Ober { public void oben(){ System.out.println("o"); "); public void auchoben(){ oben(); public class Unter extends Ober { public void oben(){ System.out.println("m"); "); public static void main(string[] s){ Ober o1= new Ober(); Unter u1= new Unter(); Ober o2= new Unter(); //!!! o1.auchoben(); u1.auchoben(); o2.auchoben(); Ober +oben() +auchoben auchoben() Unter +oben() +main(string main(string[]) o m m 43
3 Überladen von Methoden - statische Polymorphie Java bietet die Möglichkeit, Methoden zu überladen, d.h. gleicher Methodenname aber unterschiedliche Parameteranzahl bzw. Parametertypen (Erinnerung: moverel) Rückgabewerte spielen keine Rolle bei der Methodenzuordnung Auswahl bei überladenen Methoden Ist eine Zuordnung der aufrufenden Methode eindeutig, so wird die Methode ausgewählt, welche gleiche Parameteranzahl mit den passenden Parametertypen hat ist die Zuordnung eines Methodenaufrufs nicht eindeutig, wird die Methode ausgewählt, die zu allen in Frage kommenden Methoden die speziellste ist Eine Methode A ist spezieller als eine Methode B, falls die Parametertypen von A aus den Parametertypen von B abgeleitet werden können (wir wissen: Jede Klasse erbt von Object). Beispiel: sum(punkt3d a, Punkt3D b)ist spezieller als sum(punkt a, Punkt b) Extrem merkwürdiges Beispiel (1/3) Extrem merkwürdiges Beispiel (2/3) public class Punkt { protected int x; protected int y; public Punkt(int x, int y){ public void moveto(int x, int y){ public String tostring(){ return "int x="+x+" +" int y="+y; Punkt #x: int #y: int +Punkt(int,int Punkt(int,int) +moveto(int,int moveto(int,int) RealPunkt #x: double #y: double +Punkt(double,double Punkt(double,double) +moveto(double,double moveto(double,double) +main(string main(string[]) 46 public class RealPunkt extends Punkt { protected double x; protected double y; public RealPunkt(double x, double y){ super(0,0); public void moveto(double x, double y){ public String tostring(){ return super.tostring()+"\ndouble ndouble x="+x+" +" double y="+y; gleiche Namen ist schlechtester Stil, hier aber lehrreich 47
4 Merkwürdiges Beispiel (3/3) public static void main(string[] args) { RealPunkt rp= new RealPunkt(1.1,2.2); Punkt p= new Punkt(1,2); System.out.println(rp); System.out.println(p); rp.moveto(3.3, 4.4); p.moveto(2,3); int x=0 int y=0 rp.moveto(4,5); double x=1.1 double y=2.2 System.out.println(rp); int x=1 int y=2 System.out.println(p); int x=4 int y=5 double x=3.3 double y=4.4 int x=2 int y=3 Explizite Typumwandlung Cast-Operator wird zur expliziten Typumwandlung genutzt nur auf Objekte derselben Vererbungshierarchie anwendbar Überprüfung von Cast-Operatoren zur Übersetzungsund Laufzeit Laufzeitfehler führt zu einer ClassCastExecption RealPunkt rp = new RealPunkt(1.1,2.2); Punkt p1; Punkt p2= new Punkt(3,4); p1 = rp; // Okay rp = p1; // Compile time error rp = (RealPunkt RealPunkt) p1; // Okay rp = (RealPunkt RealPunkt) p2; // Run time error final final vor Klasse es kann keine Unterklasse von der final-klasseerstellt werden Steigerung der Performance final vor Methode Methode kann nicht von Unterklassen überschrieben werden Steigerung der Performance final vor Variable die Variable ist konstant Grundregel der Vererbung Jede abgeleitete Klasse kann ihre Oberklasse ersetzen, es folgt: überschreibende Methoden dürfen in der abgeleiteten Klasse nur schwächere Vorbedingungen haben überschreibende Methoden dürfen in der abgeleiteten Klasse nur stärkere Nachbedingungen haben 50 51
5 Ändern des Zugriffs beim Überschreiben Als public deklarierte Methoden müssen public bleiben Eine geerbte protected-methode darf entweder als protected oder als public überschrieben werden Für Methoden, die in der Oberklasse als privatedefiniert sind, darf eine beliebige Zugriffsform gewählt werden, da private-methoden nicht vererbt werden (!?!) (Methoden, die als default, d.h. es steht nichts da, definiert sind, können in default bleiben oder als protectedoder public überschrieben werden) 52 Dynamische Polymorphie zur Laufzeit wird konkrete Klasse des Objekts bestimmt und passende Methode gewählt dynamische Polymorphieist eine zentrale Erleichterung der Objektorientierung public static void main(string[] args) { Punkt[] pa={new Punkt(1,2), int x=1 int y=2 new RealPunkt(1.1,2.2), new RealPunkt(1d,2d), int x=0 int y=0 new Punkt(3,4); double x=1.1 double y=2.2 for(punkt p:pa) System.out.println(p+"\n "); int x=0 int y=0 double x=1.0 double y=2.0 int x=3 int y=4 53 Wurzelklasse Object Methoden der Klasse Objectwerden von allen Objekten geerbt equals(), getclass(), hashcode(), tostring(), notify(), notifyall(), sowie mehrere Versionen von wait(). Methoden in Objectsind Basismethoden, die in abgeleiteten Klassen sinnvollerweise überschrieben werden sollten Grundregel: Schreiben Sie für jede Klasse eine tostring()- Methode Durch gemeinsame Oberklasse kann dynamische Polymorphie besonders gut genutzt werden Object[] o kann Objekte beliebiger Klassen aufnehmen! 54 Objektgleichheit (1/2) mit (obj1==obj2)werden nur die Objektreferenzen verglichen ( Zeigen Referenzen auf das gleiche Objekt? ) Ansatz: Methode equals()der Klasse Objectbestimmt, ob zwei Objekte gleich sind Voreinstellung!!! Methode equals() ()vergleicht Referenzen auf Identität wenn benötigt, selbst ausarbeiten Bei manchen Java-Klassen ist equals() ()schon ordentlich implementiert, z.b. String(genauer in Doku nachsehen) Wenn equalsneu implementiert wird, sollte (evtl. muss) auch public int hashcode() ()implementiert werden; Ziel ist, zwei gleiche Objekte müssen den gleichen Wert zurück liefern (wenn man Objekte als Exemplarvariablen hat, kann man auf die hashcode-berechnungdieser Objekte zurückgreifen.) 55
6 Objektgleichheit (2/2) - Implementierungsvarianten public boolean equals(object obj) { if (this == obj) return true; if (obj == null) return false; if (getclass getclass()!= obj.getclass()) return false; Punkt other = (Punkt) obj; return (x == other.x) && (y == other.y); // kürzer, aber langsamer public boolean equals(object obj) { if (obj == null getclass()!= obj.getclass()) return false; Punkt other = (Punkt) obj; return (x == other.x) && (y == other.y); 3. Abstrakte Klassen, Interfaces, Collections Abstrakte Klassen Interfaces Framework Anonyme Klasse Clone Pakete Collections 56 57
Institut 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
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
MehrVererbung (1/2) 2. Vererbung und Polymorphie. Beispiel (1/2) Vererbung (2/2) Eine Unterklasse wird folgendermaßen definiert
2. Vererbung und Polymorphie Vererbung (1/2) Vererbung mit extends Konstruktoren bei der Vererbung Überladen von Methoden - statische Polymorphie Casten Dynamische Polymorphie Klasse Object Eine Unterklasse
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
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
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
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,
Mehr2. Vererbung und Polymorphie
2. Vererbung und Polymorphie Vererbung mit extends Konstruktoren bei der Vererbung Überladen von Methoden - statische Polymorphie Casten Dynamische Polymorphie Klasse Object 37 Vererbung (1/2) Eine Unterklasse
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
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
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
MehrKlassen und ihre Beziehungen II: Einfache Vererbung und Abhängigkeit
Klassen und ihre Beziehungen II: Einfache Vererbung und Abhängigkeit Martin Wirsing Ziele en Begriff der einfachen und mehrfachen Vererbung verstehen Vererbung und Redefinition von Oberklassenmethoden
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
MehrListe Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads
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
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
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,
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,
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
MehrVererbung. Programmierung 1. Stephan Kleuker 423
Vererbung Stephan Kleuker 423 Erweiterung: Austauschstudierende - Vererbung objektorientierte Antwort heißt: Erweiterung einer existierenden Klasse (meist Vererbung genannt) Der Zugriff auf Teile der erweiterten
MehrVererbung. Martin Wirsing. Ziele. Vererbung
2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
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
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
MehrTagesprogramm
1 2015-12-14 Tagesprogramm Methoden von Object tostring instanceof, class, getclass und Cast equals und hashcode 2 2015-12-14 Methoden von Object Object java.lang.object ist die oberste Oberklasse aller
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,
Mehr4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor:
4. Vererbung Grundlagen der Vererbung 4. Vererbung 4. Vererbung Grundlagen der Vererbung Idee der Vererbung Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende
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, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
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
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
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
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 3 Schnittstellen 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrVererbung. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08
Vererbung Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Den Begriff der einfachen Vererbung verstehen Vererbung und Redefinition von
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrJAVA 05: Objektorientierte Konzepte
Lernkartenkurs JAVA 05: Objektorientierte Konzepte panitz Zusammenfassung Dieser Kurs beschäftigt sich mit Grundkonzepten der objektorientierten Programmierung. Was sind Klassen und Objekte? Wie sehen
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
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
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
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(),
MehrII.4.1 Unterklassen und Vererbung - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
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
MehrVererbung, Polymorphismus
Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign
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
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
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
MehrJava I Vorlesung Vererbung und Sichtbarkeit
Java I Vorlesung 4 Vererbung und Sichtbarkeit 17.5.2004 Vererbung Überladen, Überschreiben, Verstecken, Verschatten Zugriffskontrolle Statische Members Wiederholung: OOP Programme bestehen aus Klassen.
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrJava Idioms. Basic und Advanced Java Coding Style. Prof. Dr. Nikolaus Wulff
Java Idioms Basic und Advanced Java Coding Style Prof. Dr. Nikolaus Wulff Java Idiome Operator == versus equals Methode equals und hashcode Vermeide NullPointer Java Konstruktoren Function Pointers, Interfaces
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrVorlesung 8. Sitzung Grundlegende Programmiertechniken
Vorlesung 8. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Grundlegende Programmiertechniken, WS 2007/2008 OOP-Abstraktionsmittel:
MehrKapitel 2: OO Grundlagen
Kapitel 2: OO Grundlagen 2.1 Objekte zum Leben erwecken (und Grundmechanismen verstehen) 2.2 Statische Elemente nutzen & vererben 2.3 Kooperation über Interfaces Lothar Schmitz UniBwM (teils nach Prof.
MehrII.4.1 Unterklassen und Vererbung - 1 -
n 1. Grundelemente der Programmierung n 2. Objekte, Klassen und Methoden n 3. Rekursion und dynamische Datenstrukturen n 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
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
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
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML Klassendiagramm zeigt Klassen und ihre Beziehungen untereinander Visualisierung und Modellierung der statischen Struktur eines Systems Klassen
MehrIT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1
IT I: Heute Klasse Object equals, hashcode, tostring HashSet 14.11.2017 IT I - VO 6 1 Wissensüberprüfung Wie ruft man statische Methode auf? Gegeben Klasse Fix mit statischer Methode static boolean foxi(string
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
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
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)
MehrÜberschreiben von Methoden
Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra
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
Mehr2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article
2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String
MehrZusatzmaterial DIE KLASSE OBJECT. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
Zusatzmaterial DIE KLASSE OBJECT Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Object wich7ge Eigenscha
MehrEinführung in die Programmierung für NF. Vererbung
Einführung in die Programmierung für NF Vererbung Ziele Vererbungsprinzip der objektorien=erten Programmierung verstehen und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden
MehrObjektorientierung III
Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 10 9.1.2017 Objektorientierung III Aufgabe 10.1. Wir sind doch alle gleich In der Vorlesung
MehrII.4.1 Unterklassen und Vererbung - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.4.1 Unterklassen und Vererbung
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
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
MehrProgrammieren in Java
Einführung in die Objektorientierung (Teil 3) Vererbung & Enums 2 Wiederholung (Packages) Der Package-Name wird zum unmittelbaren Teil des Klassennamens Um eine Klasse aus einem anderen Paket nutzen zu
MehrDas Ersetzbarkeitsprinzip
Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine
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
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
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
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
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
MehrSpezielle Sprachelemente
E4 Spezielle Sprachelemente E4.1 Aufzählungstypen Mit der J2SE 5.0 wurden Aufzählungstypen (Enumerations) durch das Schlüsselwort enum als mächtiges Konzept in die Sprache Java aufgenommen. Aufzählungen
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
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
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
Mehr