Wiederholung: Klassen in Java

Größe: px
Ab Seite anzeigen:

Download "Wiederholung: Klassen in Java"

Transkript

1 Wiederholung: Klassen in Java Klassendefinition ist Beschreibung der Struktur (Variablen) und des Verhalten (Methoden) von Objekten Klassen beginnen in Java mit einem Großbuchstaben. Klassen haben Konstruktoren, welche für die Initialisierung der Variablen verantwortlich sind. Konstruktoren sind Instanzenmethoden, die bei der Erzeugung eines Objektes aufgerufen werden. Fahrzeug ente = new Fahrzeug(...); d.h. Objekterzeugung und Initialisierung in Java miteinander verknüpft! Standardkonstruktor wird vom Java System bereitgestellt, wenn vom Programmierer kein Konstruktor angegeben wird (und nur dann!). Konstruktoren haben keinen Rückgabewert und besitzen den selben Namen wie die Klasse. Programmierer/in kann beliebige Anzahl von verschiedenen Konstruktoren vorgeben, d.h. Konstruktoren können überladen werden. W. Süß 1 Vererbung von Klassen

2 Aufruf von Methoden Woher weiß eine Methode, ob sie für Objekt a oder b aufgerufen wurde? Impliziter Parameter this, stellt ein Handle auf das Objekt dar. class Frucht { String name; Frucht (String name) { this.name = name; void prt() { System.out.println("Ich bin eine " + this.name); public static void main(string args[]) { Frucht a = new Frucht("Erdbeere"); Frucht b = new Frucht("Kirsche"); Frucht c = new Frucht("Zitrone"); a.prt(); b.prt(); c.prt(); W. Süß 2 Vererbung von Klassen

3 Statische Methoden... besitzen kein this Handle.... haben die Semantik von globalen Funktionen in prozeduralen Sprachen (Vorteil: keine Namenskonflike).Zu viele... in einem Programm sind ein Hinweis auf einen eher prozeduralen Programmierstil Bsp: //... static long square (long z) { return z * z; //... Alternativimplementierung als Instanzmethode: //... long square () { return this.z * this.z; //... W. Süß 3 Vererbung von Klassen

4 Struktur eines JAVA-Programmes mit mehreren Klassen (Komposition) Beispiel: class Klasse1 { int faktor; int potenz; // Konstruktoren... // Methoden... public static void main(string args[]) {... class Klasse2 { Klasse1[] klasse1array; //benutzt Klasse1 // Konstruktoren... // Methoden... public static void main(string args[]) {... W. Süß 4 Vererbung von Klassen

5 Die Definitionen der Klassen Klasse1 und Klasse2 können in einer oder auch in zwei Dateien stehen. Klasse2.java (mit den Klassen Klasse2 und Klasse1) oder und Klasse2.java (mit der Klasse Klasse2) Klasse1.java (mit der Klasse Klasse1) Jede Klasse kann eine als public static void main(string args[]) definierte Methode besitzen. Pro Klasse wird (durch javac) eine.class Datei erzeugt, d.h. befinden sich in einer Datei mehrere Klassendefinitionen, so werden mehrere.class Dateien erzeugt. Klasse1.class Klasse2.class Da beide Klassen eine main-methode besitzen kann sowohl java Klasse1 als auch java Klasse2 ausgeführt werden. W. Süß 5 Vererbung von Klassen

6 Vererbung Motivation Beispiel: Benutzerverwaltung (z.b. im Rechenzentrum) mit mehreren Kategorien von Benutzern. Studenten, Mitarbeiter und externe Personen. Für Personen aus den verschiedenen Gruppen werden unterschiedliche Informationen erhoben. Beispiel Benutzergruppen: externer Benutzer Person class Person { int userid; String name; String telnr; Person(int id, String name, String tel) { this.userid = id; this.name = name; this.telnr = tel; Beispiel Benutzergruppen: Student class Student { int userid; String name; String telnr; String matrnr; Student(int id, String name, String tel, String matrnr) { this.userid = id; this.name = name; this.telnr = tel; this.matrnr = matrnr; W. Süß 6 Vererbung von Klassen

7 Beispiel Benutzergruppen: Mitarbeiter class Mitarbeiter { int userid; String name; String telnr; String dienstgrad; Mitarbeiter(int id, String name, String tel, String grad) { this.userid = id; this.name = name; this.telnr = tel; this.dienstgrad = grad; Frage: Können wir alle drei Benutzergruppen ineinem einzigen Feld gemeinsam verwalten? Einfache Antwort: Nein, denn es handelt sich um drei verschiedene Klassen; die Objekte haben verschiedenen Typ. Komplizierte Antwort: Doch, wir können die Objekte in einem einzigen Feld speichern, wenn wir die Gemeinsamkeiten der drei Klassen extrahieren! Beobachtung: Die gemeinsame Information von Studenten und Mitarbeitern ist die Information, die für Personen gespeichert wird. W. Süß 7 Vererbung von Klassen

8 Vererbung: Grundprinzip Person userid name telnr Student userid name telnr matrnr Mitarbeiter userid name telnr dienstgrad Student und Mitarbeiter erben diese Attribute von Person; alles was man mit einer Instanz der Klasse Person machen kann, kann man auch mit einer Instanz der Klassen Mitarbeiter und Student machen! W. Süß 8 Vererbung von Klassen

9 Vererbung: Grundprinzip Person userid name telnr Student userid Mitarbeiter userid Spezialisierung Generalisierung name name telnr telnr matrnr dienstgrad W. Süß 9 Vererbung von Klassen

10 Vererbung in Java class Person { int userid; String name; String telnr; Person() { Person(int id, String name, String tel) { this.userid = id; this.name = name; this.telnr = tel; Die Klasse Person wird fast wie gehabt definiert. Aus einem Grund, den wir später noch kennenlernen werden, benötigen wir im Augenblick noch den Standardkonstruktor. class Student extends Person { String matrnr; Student(int id, String name, String tel, String matrnr) { this.userid = id; this.name = name; this.telnr = tel; this.matrnr = matrnr; extends besagt, daß die Klasse Student von der Klasse Person erbt. Weil die Klasse Student von der Klasse Person erbt, besitzt die Klasse Student alle Attribute der Klasse Person (ohne daß die Attribute explizit definiert sind). W. Süß 10 Vererbung von Klassen

11 class Mitarbeiter extends Person { String dienstgrad; Mitarbeiter(int id, String name, String tel, String grad) { this.userid = id; this.name = name; this.telnr = tel; this.dienstgrad = grad; extends besagt, daß die Klasse Mitarbeiter von der Klasse Person erbt. Weil die Klasse Mitarbeiter von der Klasse Person erbt, besitzt die Klasse Mitarbeiter alle Attribute der Klasse Person (ohne daß die Attribute explizit definiert sind). Bemerkung: Die neuen Definitionen sind im wesentlichen identisch mit den alten separaten der Definitionen der Klassen. Der einzige Unterschied: Jetzt können Objekte der Klasse Student und Mitarbeiter an eine Variable des Typs Person zugewiesen werden, da sie diese Klasse spezialisieren! Person[] pers = new Person[3]; pers[0] = new Mitarbeiter(1,"Huber","(030)...","WiMi"); pers[1] = new Student(2,"Meier", "(08421) 4711","0815"); pers[2] = new Person(5,"Mueller","(08421) 461"); pers Mitarbeiter userid name telnr dienstgrad Student userid name telnr matrnr Person userid name telnr W. Süß 11 Vererbung von Klassen

12 Beispiel: Person[] pers = new Person[3]; pers[0] = new Mitarbeiter(1,"Huber", "(030)...", "WiMi"); pers[1] = new Student(2,"Meier", "(08421) 4711", "0815"); pers[2] = new Person(5,"Mueller", "(08421) 461"); // Ausgabe aller Adressen des Arrays pers: for (int i = 0; i < pers.length; i++) { System.out.println(pers[i].name + ":" + pers[i].telnr); Das Prinzip: - Ein Objekt einer Klasse B, die von Klasse A abgeleitet ist (von A erbt), besitzt zusätzlich zu den in der Klasse B definierten Attributen und Methoden alle Attribute und Methoden der Klasse A. - Ein Objekt einer Klasse B kann an eine Variable der Klasse A zugewiesen werden, wenn Klasse B von Klasse A abgeleitet ist. Bsp: Person pers; pers = new Mitarbeiter(1,"Huber", "(030)...", "WiMi"); - Die umgekehrte Richtung ist nicht zulässig! Gegenbsp.: Mitarbeiter marb; marb = new Person(1,"Huber", "(030)..."); - Ein Objekt, das in einer Variablen der Klasse A gespeichert ist, kann ein Objekt jeder Klasse B sein, die von A erbt. - Für ein in einer Variablen der Klasse A gespeichertes Objekt können alle Attribute und Methoden der Klasse A benutzt werden und nur diese! Selbst dann, wenn es sich um ein Objekt der Klasse B handelt, das mehr Attribute besitzt. W. Süß 12 Vererbung von Klassen

13 Beispiel: Person pers; pers = Mitarbeiter(1,"Huber", "(030)...", "WiMi"); System.out.println(pers.name + ":" + pers.telnr); System.out.println(pers.dienstgrad); Das Objekt, das in pers gespeichert ist, hat zwar ein Attribut dienstgrad, aber die Variable pers hat nur den Typ Person! Da die Klasse Person selbst kein Attribut dienstgrad besitzt, dürfen wir es nicht benutzen. Bei starker Typisierung wird die Korrektheit eines Zugriffs anhand des Variablentyps geprüft! W. Süß 13 Vererbung von Klassen

14 Vererbungshierarchie Person userid name telnr Vererbung über mehrere Stufen ist möglich Student userid name telnr matrnr Mitarbeiter userid name telnr dienstgrad Beamter erbt indirekt über Mitarbeiter alle Eigenschaften von Person! Ein Objekt der Klasse Beamter kann also sowohl einer Variablen vom Typ Mitarbeiter als auch einer Variablen vom Typ Person zugewiesen werden. Beamter userid name telnr dienstgrad besgr Angestellter userid name telnr dienstgrad Tarif class Beamter extends Mitarbeiter { String besgr;... W. Süß 14 Vererbung von Klassen

15 Vererbung von Methoden Methoden werden ebenso vererbt wie Attribute! class Person { int userid; String name; String telnr; Person(){ Person(int id, String name, String tel) { \* wie gehabt *\ public String tostring() { return name + ": " + telnr Person pers = new Person(5,"Mueller", "(08421) 461"); Person pers = new Person(6,"Maier", "(08421) 462"); System.out.println(pers.toString()); System.out.println(pers); Ausgabe am Bildschirm: Mueller: (08421) 461 Maier: (08421) 462 Mitarbeiter marb; marb = Mitarbeiter(1,"Huber", "(030)...", "WiMi"); System.out.println(marb); Ausgabe am Bildschirm: Huber: (030)... Da Mitarbeiter von Person erbt, besitzt jedes Objekt der Klasse Mitarbeiter auch die Methode tostring. W. Süß 15 Vererbung von Klassen

16 Überschreiben von Methoden Bisher: In den abgeleiteten Klassen wurden neue Attribute oder neue Methoden hinzugefügt Jetzt: In der abgeleiteten Klasse werden Methoden der ursprünglichen Klasse überschrieben. Beispiel: class Mitarbeiter extends Person { String dienstgrad; Mitarbeiter(int id, String name, String tel, String grad) { \* wie gehabt *\ public String tostring() { return name + ":" + tel + ", " + dienstgrad; class Student extends Person { String matrnr; Student(int id, String name, String tel, String matrnr) { /* wie gehabt */ public String tostring() { return name + ":" + tel + ", " + matrnr; W. Süß 16 Vererbung von Klassen

17 Person[] pers = new Person[3]; pers[0] = new Mitarbeiter(1,"Huber", "(030)...", "WiMi"); pers[1] = new Student(2,"Meier", "(08421) 4711", "0815"); pers[2] = new Person(5,"Mueller", "(08421) 461"); for (int i = 0; i < pers.length; i++) { System.out.println(pers[i]); /* Ausgabe am Bildschirm: * Huber: (030)..., WiMi * Meier: (08421) 4711, 0815 * Mueller: (08421) 461 */ Hier wurden offensichtlich die neuen tostring-methoden der Klassen Mitarbeiter und Student aufgerufen. W. Süß 17 Vererbung von Klassen

18 Beispiele class Vererbung { public static void main (String args[]) { Person[] pers = new Person[3]; pers[0] = new Mitarbeiter(1,"Huber","3456","WiMi"); pers[1] = new Student(1,"Maier","1234","0815"); pers[2] = new Person(1,"Mueller","4567"); System.out.println(pers[0].dienstGrad); Ausgabe: Vererbung.java:50: cannot resolve symbol symbol : variable dienstgrad location: class Person System.out.println(pers[0].dienstgrad); ^ 1 error System.out.println(((Mitarbeiter) pers[0]).dienstgrad); Ausgabe: WiMi System.out.println(((Mitarbeiter) pers[1]).dienstgrad); Ausgabe: Exception in thread "main" java.lang.classcastexception: Student at Vererbung.main(Vererbung.java:50) W. Süß 18 Vererbung von Klassen

19 Vererbung Eine Unterklassenbeziehung läßt sich explizit in der folgenden Form angeben: class Unterklasse extends Oberklasse {... Die Unterklasse enthält alle Komponenten der Oberklasse. Erweiterbar um neue Komponenten. Unterklasse ist Spezialfall der Oberklasse. Komponenten der Oberklasse sind von der Unterklasse aus mit dem Schlüsselwort super erreichbar. Dies gilt auch für den Aufruf des Konstruktors der Oberklasse. Klassen, für die keine Beziehung zu anderen Klassen festgelegt wurde, sind automatisch Unterklassen der Klasse Object. W. Süß 19 Vererbung von Klassen

20 Beispiel: Chefs sind auch Personen class Person{ String Name; String Vorname; int PersonalNummer; Person (String Name, String Vorname, int PersonalNummer) { this.name = Name; this.vorname = Vorname; this.personalnummer = PersonalNummer; void print() { System.out.println("Name: "+ this.name); System.out.println("Vorname: "+ this.vorname); System.out.println("Personalnummer: "+ this.personalnummer); class Chef extends Person{ String Abteilung; //Zusaetzliches Attribut Chef (String Name, String Vorname, int PersonalNummer, String Abteilung) { super(name,vorname,personalnummer); this.abteilung=abteilung; // Ueberschreibt die Methode print() in Person void print() { super.print(); System.out.println("Leiter der Abteilung: "+ this.abteilung); W. Süß 20 Vererbung von Klassen

21 Beispiel: Verwendung der Klassen Person und Chef public class Firma{ public static void main (String args[]) { Person personal[] = new Person [4]; personal [0] = new Person ( Meier, Karl, 100); personal [1] = new Person ( Huber, Egon, 101); personal [2] = new Person ( Bauer, Hans, 102); personal [3] = new Chef ( Wichtig, Willi, 103, Einkauf ); for (int i =0; i< personal.length; i++) personal[i].print(); // Polymorphie W. Süß 21 Vererbung von Klassen

22 Beispiel: Klasse Fahrzeug class Fahrzeug { String marke; String modell; float preis; float gewicht; Fahrzeug (String mar, String mod, float pre, float gew) { this.marke = mar; this.modell = mod; this.preis = pre; this.gewicht = gew; public String tostring () { return "Fahrzeug der Marke " + marke + ", Modell " + modell + ", Gewicht " + gewicht + " kg"; public static void main (String args[]) { Fahrzeug ente = new Fahrzeug("Citroen","2CV", f, 680.5f); System.out.println("Mein Auto: "+ ente); W. Süß 22 Vererbung von Klassen

23 Beispiel: Erweiterung der Klasse Fahrzeug class Auto extends Fahrzeug { String kraftstoff; int ps; Auto (String mar, String mod, float pre, float gew, String kra, int ps) { super(mar,mod,pre,gew); this.kraftstoff = kra; this.ps = ps; public String tostring () { return super.tostring() + ", " + kraftstoff +"-Kraftstoff, " + ps + " ps"; public static void main (String args[]) { Auto ente = new Auto("Citroen","2CV", f, 680.5f,"Normal",28); System.out.println("Mein Auto: "+ ente); W. Süß 23 Vererbung von Klassen

24 Oberklasse Object W. Süß 24 Vererbung von Klassen

25 Vergleich von Objekten Vergleich von primitiven Datentypen: int i1 = 12; int i2 = 21; int i3 = 12; System.out.println(i1+"=="+i2+ "? " + (i1==i2)); System.out.println(i1+"=="+i3+ "? " + (i1==i3)); System.out.println(i2+"=="+i3+ "? " + (i2==i3)); System.out.println(); Ausgabe: K:\java-vorlesung\code>java -classpath. Bruch 12==21? false 12==12? true 21==12? false Vergleich von Objekten: public static void main(string argv[]) { Bruch b1 = new Bruch(13,3); Bruch b2 = new Bruch(3,13); Bruch b3 = new Bruch(13,3); Bruch b4 = b2; System.out.println(b1+"=="+b2+ "? " + (b1==b2)); System.out.println(b1+"=="+b3+ "? " + (b1==b3)); System.out.println(b1+"=="+b4+ "? " + (b1==b4)); System.out.println(b2+"=="+b4+ "? " + (b2==b4)); System.out.println(); System.out.println(b1+".equals("+b2+")?"+ (b1.equals(b2))); System.out.println(b1+".equals("+b3+")?"+ (b1.equals(b3))); System.out.println(b1+".equals("+b4+")?"+ (b1.equals(b4))); System.out.println(b2+".equals("+b4+")?"+ (b2.equals(b4))); W. Süß 25 Vererbung von Klassen

26 Ausgabe: K:\java-vorlesung\code>java -classpath. Bruch 12==21? false 12==12? true 21==12? false 13/3==3/13? false 13/3==13/3? false 13/3==3/13? false 3/13==3/13? true 13/3.equals(3/13)? false 13/3.equals(13/3)? false 13/3.equals(3/13)? false 3/13.equals(3/13)? true Eigene Methode public boolean equals(object o) public boolean equals(object o) { if (o instanceof Bruch) { Bruch b = (Bruch) o; return this.zaehler == b.zaehler && this.nenner == b.nenner; else return false; Ausgabe:... 13/3.equals(3/13)? false 13/3.equals(13/3)? true 13/3.equals(3/13)? false 3/13.equals(3/13)? true W. Süß 26 Vererbung von Klassen

27 Daten verstecken und kapseln Sichtbarkeitsmodifikatoren: public Klasse, Variable oder Methode überall sichtbar und damit auch überall benutztbar. private private-variable sind nur in den Methoden sichtbar, die in dieser Klasse definiert sind. private-methoden können nur von Methoden innerhalb der Klasse aufgerufen werden. private-elemente (members) sind nicht in Subklassen sichtbar und werden auch nicht an Subklassen vererbt. protected protected-elemente sind in allen Subklassen dieser Klasse sichtbar, und auch in allen Klassen, die mit dieser Klasse in einem Paket enthalten sind. friendly oder package Standardmäßige Paketsichtbarkeit, die verwendet wird, wenn ein Element einer Klasse mit keinem der Schlüsselworte public, private oder protected dekalriert ist. W. Süß 27 Vererbung von Klassen

28 Erreichbarkeit von Klassenelementen Sichtbarkeit Erreichbar für: public protected friendly private Gleiche Klasse ja ja ja ja Klasse in gleichem Paket ja ja ja nein Subklasse in anderem Paket ja ja nein nein Keine Subklasse, anderes Paket ja nein nein nein W. Süß 28 Vererbung von Klassen

Programmieren I. Vererbung Heusch 13 Ratz 9. Institut für Angewandte Informatik

Programmieren I. Vererbung Heusch 13 Ratz 9.  Institut für Angewandte Informatik Programmieren I Vererbung Heusch 13 Ratz 9 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Wiederholung: Klassen in Java Klassen beschreiben Daten (Attribute) und Verhalten (Methoden)

Mehr

III. Objektorientierte Programmierung. Aufruf einer Methode. Definition einer Methode. Bezug zur aufrufenden Instanz. Instanzen einer Klasse

III. Objektorientierte Programmierung. Aufruf einer Methode. Definition einer Methode. Bezug zur aufrufenden Instanz. Instanzen einer Klasse Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 12 Ekkart Kindler III. Objektorientierte Programmierung Überblick Klassen und Methoden Vererbung Zugriffsrechte Definition einer Methode

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. 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

Mehr

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

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1

Mehr

Vorlesung 8. Sitzung Grundlegende Programmiertechniken

Vorlesung 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:

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben 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

Mehr

SWE1 / Übung 9 (11.01.2012)

SWE1 / Übung 9 (11.01.2012) SWE1 / Übung 9 (11.01.2012) Vererbung Zugriffskontrolle Motivation für Vererbung (1) Objekte in der realen Welt kommen oft in ähnlichen Varianten (Attribute, Verhalten) vor Gliederung durch hierarchische

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.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

Mehr

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

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

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs Java Vererbung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Ähnlichkeiten zwischen Klassen? Beispiel: Klassen Auto

Mehr

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Vererbung 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

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen 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

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.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

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

Programmieren in Java

Programmieren 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

Mehr

4. Vererbung Die Klasse Object. Die Klasse Object

4. 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

Mehr

Klassen und ihre Beziehungen II: Einfache Vererbung und Abhängigkeit

Klassen 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

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.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

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

Programmieren in Java

Programmieren 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

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs 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

Mehr

Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue

Java - Vererbung. Personen. Leibniz Universität IT Services Anja Aue Java - Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Eltern-Kind-Beziehung. Ableitung

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs 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

Mehr

Erste Java-Programme (Java Wiederholung & Vererbung)

Erste Java-Programme (Java Wiederholung & Vererbung) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Vererbung, Polymorphie

Vererbung, 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

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 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,

Mehr

Teil 2: Weitere Aspekte der Objektorientierung

Teil 2: Weitere Aspekte der Objektorientierung Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:

Mehr

II.4.1 Unterklassen und Vererbung - 1 -

II.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

Mehr

Vererbung. 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. 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

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Tafelübung 07 Algorithmen und Datenstrukturen

Tafelü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

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

Programmieren in Java

Programmieren 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

Mehr

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

4. 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

Mehr

Vererbung. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08

Vererbung. 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

Mehr

Programmierung Nachklausurtutorium

Programmierung 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

Mehr

Arten von Klassen-Beziehungen

Arten von Klassen-Beziehungen Arten von Klassen-Beziehungen Untertypbeziehung: Ersetzbarkeit Vererbung von Code aus Oberklasse irrelevant Vererbungsbeziehung: Klasse entsteht durch Abänderung anderer Klassen Ersetzbarkeit irrelevant

Mehr

Klassen mit Instanzmethoden

Klassen mit Instanzmethoden Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

II.4.2 Abstrakte Klassen und Interfaces - 1 -

II.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

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 018/19 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 11 Besprechung: 1. 5.01.019 (KW 4) Vorbereitende

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Java Einführung Vererbung und Polymorphie. Kapitel 13

Java 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

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 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

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

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

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Alexander Lochmann, Iman Kamehkhosh, Marcel Preuß, Dominic Siedhoff Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Objektorientierung (OO)

Objektorientierung (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

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

JAVA 05: Objektorientierte Konzepte

JAVA 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

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

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

Einfü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

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 11 Besprechung: 15. 19.01.018 (KW 3) Vorbereitende

Mehr

Einführung in die Programmiersprache Java II

Einfü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

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 09: Mehr zur Objektorientierung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Weitere Aspekte der Objektorientierung Klassen Variablen

Mehr

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

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe. Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe http://www.zitate-online.de/autor/goethe-johann-wolfgang-von/ http://www.weimar-lese.de/files_weimar_lese/johann_wolfgang_von_goethe_bearbeitet_von_andreas_werner.jpg

Mehr

14. Java Objektorientierung

14. Java Objektorientierung Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen

Mehr

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

Kapitel 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

Mehr

14. Java Objektorientierung. Klassen, Vererbung, Kapselung

14. 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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

Mehr

Die abstrakte Klasse Expression:

Die 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

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte 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

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte 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

Mehr

14. Java Objektorientierung

14. Java Objektorientierung Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen

Mehr

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

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus Vorlesung Programmieren Vererbung und Polymorphismus Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Bisher: Klassen und Objekte Haupteigenschaften:

Mehr

Java, OO und UML Fortsetzung

Java, OO und UML Fortsetzung Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und

Mehr

6. Globalübung (zu Übungsblatt 8)

6. 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

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Einführung in die Programmierung. 8.0 Vererbung. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung. 8.0 Vererbung. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung 8.0 Vererbung Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved. Uebersicht 8.2 Selektiv Verhalten

Mehr

Überschreiben von Methoden

Ü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

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO

Mehr

Wiederholung zur Vorlesung Programmieren

Wiederholung zur Vorlesung Programmieren Wiederholung zur Vorlesung Jan 2007 Wintersemester 2007/2008 Computerlinguistik, Campus DU Einstieg Erläutern sie in knappen Worten die notwendigen Schritte um ein einfaches Java-Programm zu schreiben

Mehr

3 Objektorientierte Konzepte in Java

3 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

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Kapitel 4: Klassen und Unterklassen

Kapitel 4: Klassen und Unterklassen Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 4: Klassen und Unterklassen Folie 54 : Unterklassen Die Bildung von Unterklassen und das Konzept der Vererbung sind

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr