1. Abstrakte Klassen
|
|
- Sara Bruhn
- vor 7 Jahren
- Abrufe
Transkript
1 1. Abstrakte Klassen Lernziele 1. Abstrakte Klassen Lernziele: Das Konzept abstrakter Klassen und abstrakter Methoden kennen und verstehen, in der Lage sein, abstrakte Klassen und Methoden in Java zu formulieren, die UML-Notation im Zusammenhang mit abstrakten Klassen beherrschen und abstrakte Klassen adäquat bei der Programmentwicklung einsetzen können. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
2 1. Abstrakte Klassen Beispiel Beispiel: Alle Vögel sind schon da Amsel, Drossel, Fink und Star und die ganze Vogelschar. Angenommen, wir wollen die folgende Klassenhierarchie implementieren: UML-Klassendiagramm: Einführung in die Programmierung (EidP), S. 382 ff. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
3 1. Abstrakte Klassen Beispiel Vorschlag zur Implementierung public class Vogel { public void singe() { System.out.println( "Vogel singt:???"); public class Amsel extends Vogel { public void singe() { System.out.println( "Amsel singt: uiuiii..."); public class Drossel extends Vogel { public void singe() { System.out.println( "Drossel singt: zwawaaa..."); public class Fink extends Vogel { public void singe() { System.out.println( "Fink singt: zrzrrr..."); Bemerkung: Natürlich jede Klasse in einer eigenen Datei Klassenname.java Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
4 1. Abstrakte Klassen Beispiel Probleme des Implementierungsvorschlags (1) In der Realität gibt es keinen Vogel, der nur ein Vogel ist. Jeder instanziierte Vogel sollte Amsel, Drossel oder Fink sein. Nur für die Unterklassen von Vogel sollte eine Instanziierung möglich sein. (2) Ein Programmierer erweitert die Klassenhierarchie um die noch fehlende Klasse Star und vergisst dabei, die Methode singe() zu überschreiben. Dann haben Stare keine Stimme. Man sollte eine Möglichkeit haben, bei der Erweiterung der Klassenhierarchie den Entwickler zum Überschreiben zu zwingen. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
5 1. Abstrakte Klassen Beispiel Probleme des Implementierungsvorschlags (2) (3) Wenn (1) erfüllt ist und der Programmierer den Fehler von (2) nicht gemacht hat, dann wird die Methode singe() in der Klasse Vogel nie aufgerufen. Wir können die Methode singe() in der Klasse Vogel aber auch nicht einfach weglassen. Warum nicht? Auf Methodenimplementierungen, die nicht genutzt werden, sollte man verzichten können. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
6 1. Abstrakte Klassen Abstrakte Klasse Abstrakte Klasse Problem (1) können wir vermeiden, indem wir eine Klasse als abstrakt kennzeichnen. Zugehöriges Schlüsselwort in Java: abstract [public] abstract class Klassenname... {... Von abstrakten Klassen können keine Instanzen erzeugt werden. D. h.: Wenn K eine abstrakte Klasse ist, dann liefert die Anweisung new K(); bei der Compilierung einen Fehler. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
7 1. Abstrakte Klassen Abstrakte Klasse Konsequenzen Für unser Beispiel: Wenn wir die Klasse Vogel als abstrakt kennzeichnen, können wir nur noch Amseln, Drosseln oder Finken instanziieren. Problem (1) ist gelöst. Allgemein für die Definition einer abstrakten Klasse: Um Instanzen erzeugen zu können, muss mindestens eine nicht abstrakte Unterklasse zu einer abstrakten Klasse definiert werden. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
8 1. Abstrakte Klassen Abstrakte Klasse Abstrakte Klassen in der Klassenhierarchie Eine abstrakte Klasse kann Unterklasse einer nicht abstrakten Klasse sein. Eine abstrakte Klasse kann weitere abstrakte Klassen als Unterklassen haben. Auch für abstrakte Klassen sollten Konstruktoren definiert werden. Grund: Die Initialisierung von Objekten erfolgt entlang der Klassenhierarchie (siehe späteres Beispiel zu geometrischen Objekten). Eine Klasse kann nicht gleichzeitig final und abstrakt sein. Konsequenz: Der Compiler verbietet die Kombination von abstract und final im Klassenkopf. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
9 1. Abstrakte Klassen Einschub: Finale Klassen und finale Methoden Finale Klassen Der Modifier final schützt Klassen vor Vererbung. [public] final class Klasse {... Wirkung: Von Klasse kann keine Unterklasse abgeleitet werden. Typischerweise sind Klassen, die nur static Definitionen enthalten, final. Beispiel: java.lang.math Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
10 1. Abstrakte Klassen Einschub: Finale Klassen und finale Methoden Finale Methoden final vor einer Methode schützt diese Methode vor dem Überschreiben. public final void meinemethode() Finale Methoden verwendet man, wenn man sicherstellen möchte, dass eine Methode nicht verändert wird, z.b. weil Sie kritisch für den Zustand eines Objektes ist. class ChessAlgorithm { static final int WHITE = 0; static final int BLACK = 1;... final int getfirstplayer() { return ChessAlgorithm.WHITE;... Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
11 1. Abstrakte Klassen Einschub: Finale Klassen und finale Methoden Vereinbarung von Konstanten Die Vereinbarung von Konstanten erfolgt innerhalb einer Klassendefinition. Konstanten sind Klassenvariablen. Durch das Schlüsselwort final wird die nachträgliche Änderung des Variablenwerts verboten. Syntax für die Deklaration öffentlicher Konstanten: public static final Datentyp Variablenname = Initialwert; Beispiel: Definition von Konstanten für Studienfächer: public static final int MATHEMATIK STUDIUM = 1; public static final int INFORMATIK STUDIUM = 2; public static final int BIOLOGIE STUDIUM = 3;... Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
12 1. Abstrakte Klassen Einschub: Finale Klassen und finale Methoden Finale Variablen finale Klassenvariablen entsprechen Konstanten, siehe vorangegangene Folie finale Instanzvariablen Variablenwert für eine Instanz muss einmalig durch Initialisierungsausdruck oder in allen Konstruktoren festgelegt werden nicht änderbar finale Methodenparameter keine Änderung des Parameterwerts in der Methode zulässig wegen Call-by-Value Parameterübergabe in Java prinzipiell ohne Bedeutung Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
13 1. Abstrakte Klassen Abstrakte Klasse in UML Abstrakte Klasse in UML Im UML-Klassendiagramm werden abstrakte Klassen durch einen kursiven Klassennamen gekennzeichnet. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
14 1. Abstrakte Klassen Abstrakte Methoden Die folgende Modellierung ist keine Lösung, der Probleme (2) und (3), sondern würde nur zu weiteren Problemen führen, wie die folgenden Folien zeigen. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
15 1. Abstrakte Klassen Abstrakte Methoden Vererbung und Methodenausführung Es sei die Modellierung/Implementierung von Folie 17/18 gegeben: Vogel vogel = new Amsel(); vogel.singe(); Welche Methode singe() wird hier ausgeführt? Die der Klasse Vogel, weil die Variable vogel von diesem Typ ist? statischer Typ der Variablen vogel Die der Klasse Amsel, weil das Objekt, auf dem singe() aufgerufen wird, eine Instanz von Amsel ist? dynamischer Typ der Variablen vogel Entscheidend für die Methodenauswahl ist der dynamische Typ einer Variablen. (EidP S ) Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
16 1. Abstrakte Klassen Abstrakte Methoden Methoden-Polymorphie Methodenaufrufe in Java sind polymorph. Derselbe Methodenaufruf kann zu unterschiedlichen Zeitpunkten verschiedene Methoden aufrufen. Welche Methode tatsächlich aufgerufen wird, ist abhängig vom dynamischen Typ der Variablen, mit der der Aufruf durchgeführt wird. Weiteres Beispiel: Szenario Folie 17/18 Für i==0 wird die Methode singe() von Amsel aufgerufen und für i==1 die Methode singe() von Drossel. Vogel v; Vogel v1 = new Amsel(); Vogel v2 = new Drossel(); for (int i=0 ; i<2 ; i++) { if (i==0) v = v1; else v = v2; v.singe(); Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
17 1. Abstrakte Klassen Abstrakte Methoden Methodensuche Wir wollen die Frage, welche Instanzmethode bei einem Methodenaufruf aufgerufen wird, noch etwas genauer betrachten. Methodensuche: Beim Aufruf einer Instanzmethode findet eine sogenannte Methodensuche statt. Ausgehend vom dynamischen Typ der Variablen wird in der Vererbungshierarchie nach einer Methode gesucht, die auf die Signatur des Aufrufs passt. Wenn die Klasse des dynamischen Typs keine solche Methode aufweist, wird in der direkten Oberklasse gesucht, usw. Die Suche endet spätestens in der Klasse Object. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
18 1. Abstrakte Klassen Abstrakte Methoden Problem der Sichtbarkeit Die Modellierung auf Folie 29 garantiert zwar (prinzipiell) Polymorphie aber keine Sichtbarkeit der Methode singe(). Amsel a = new Amsel(); Vogel v = a; // kein Problem, Substituierbarkeit a.singe(); // kein Problem, Methode singe() für Typ Amsel bekannt v.singe(); // Fehler (Compiler), Methode singe für Typ Vogel unbekannt // --> statische Typisierung Man beachte: a.singe() und v.singe() würde zum Aufruf der selben Methode führen! Problem hier: Die Sichtbarkeit von Methoden basiert auf dem statischen Typ einer Variablen. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
19 1. Abstrakte Klassen Abstrakte Methoden Abstrakte Methoden Zur Lösung der Probleme (2) und (3) erklären wir die Methode singe() in der Klasse Vogel zu einer abstrakten Methode. Die Definition einer abstrakten Methode besteht aus einer Methodensignatur ohne einen Rumpf. Statt eines Blocks als Rumpf folgt dem Methodenkopf ein Semikolon. Solch eine Methode wird mit dem Schlüsselwort abstract markiert. Damit haben wir Problem (3) gelöst: Wir brauchen keine Dummy-Implementierung mehr für die Methode singe(). Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
20 1. Abstrakte Klassen Abstrakte Methoden Abstrakte Methoden (2) Syntax: Modifikator abstract Datentyp Methodenname(Parameterliste); Beispiel: Abstrakte Klasse mit einer öffentlichen abstrakten Methode: public abstract class Vogel { public abstract void singe(); Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
21 1. Abstrakte Klassen Abstrakte Methoden Abstrakte Methoden (3) Die Definition einer abstrakten Methode m in einer Klasse K bedeutet: Für die Klasse K und somit auch für alle Unterklassen U von K ist die Methode m bekannt. K möchte/kann die Methode nicht implementieren. Dies muss in einer Unterklassen U von K erfolgen. Sei U eine (nicht abstrakte) Unterklasse von K. Dann ist folgendes möglich. K k = new U(); k.m(); Die Methodenauswahl basiert auf dem dynamischen Typ von k. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
22 1. Abstrakte Klassen Abstrakte Methoden Abstrakte Methoden in UML Im UML-Klassendiagramm werden abstrakte Methoden durch eine kursive Schreibweise gekennzeichnet. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
23 1. Abstrakte Klassen Abstrakte Methoden Zusammenspiel: Abstrakte Klassen und Methoden Abstrakte Klassen dürfen abstrakte Methoden anbieten. Jede Klasse, die mindestens eine (evtl. geerbte) abstrakte Methode hat, ist selbst abstrakt und muss entsprechend deklariert werden. Damit eine Unterklasse einer abstrakten Klasse eine konkrete Klasse werden kann, muss sie Implementierungen für alle geerbten abstrakten Methoden anbieten. Andernfalls ist die Unterklasse selbst abstrakt und muss als solche gekennzeichnet werden. Damit haben wir Problem (2) gelöst: Wenn der Programmierer der Klasse Star vergessen sollte, die Methode singe() zu überschreiben, meldet der Compiler einen Fehler. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
24 1. Abstrakte Klassen Abstrakte Methoden Wann setzt man abstrakte Klassen ein? Zur Repräsentation einer Generalisierung verschiedener Klassen, die Eigenschaften der gleichen Art haben, die in den Unterklassen aber unterschiedlich berechnet werden müssen. Für die Berechnung der Eigenschaften sehen wir in der Generalisierung jeweils eine abstrakte Methode vor, um deutlich zu machen, dass Objekte dieser Klasse (und der Unterklassen) diese Eigenschaften haben. Die jeweilige Art und Weise der Berechnung wird aber erst in den Unterklassen festgelegt. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
25 1. Abstrakte Klassen Weitere Beispiele Beispiel: Geometrische Objekte mit Eigenschaft Flächeninhalt Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
26 1. Abstrakte Klassen Weitere Beispiele Beispiel: Geometrische Objekte und deren Eigenschaft Fläche (2) public abstract class GeoObjekt { private double x; private double y; public GeoObjekt(double x, double y) { this.x = x; this.y = y; public double gibx() { return this.x; public double giby() { return this.y; public void verschiebe(double xdelta, double ydelta) { this.x += xdelta; this.y += ydelta; public abstract double berechneflaeche(); Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
27 1. Abstrakte Klassen Weitere Beispiele Beispiel: Geometrische Objekte und deren Eigenschaft Fläche (3) public class Rechteck extends GeoObjekt { private double hoehe; private double breite; public Rechteck(double x, double y, double hoehe, double breite) { super(x,y); this.hoehe = hoehe; this.breite = breite; public double berechneflaeche() { return this.hoehe*this.breite; Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
28 1. Abstrakte Klassen Weitere Beispiele Beispiel: Geometrische Objekte und deren Eigenschaft Fläche (4) public class Kreis extends GeoObjekt { private double radius; public Kreis(double x, double y, double radius) { super(x,y); this.radius = radius; public double berechneflaeche() { return Math.PI * this.radius * this.radius; Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
29 1. Abstrakte Klassen Typumwandlungen Typumwandlungen Vogel v = new Amsel(); // Upcast Kann man jetzt aus dem Vogel-Objekt v wieder ein Amsel-Objekt machen? Ja, mit einer expliziten Typumwandlung. Amsel a = v; // Fehler (Compiler) Amsel b = (Amsel) v; // OK, Downcast Eine (typischerweise implizite) Typumwandlung von einem Untertyp zu einem Obertyp heißt Upcast. Eine (nur explizit mögliche) Typumwandlung von einem Obertyp zu einem Untertyp heißt Downcast. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
30 1. Abstrakte Klassen Typumwandlungen Typumwandlungen (2) public class OK {... public class UK1 extends OK {... public class UK2 extends OK {... OK a = new UK1(); OK b = new UK2(); UK1 c = (UK1) a; UK2 d = (UK2) b; UK2 e = (UK2) c; UK2 f = (UK2) a; // ok, Upcast // ok, Upcast // ok, Downcast // ok, Downcast // Fehler, erkennt Compiler // Fehler zur Laufzeit, ClassCastException Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
31 1. Abstrakte Klassen Typumwandlungen Typumwandlung bei Feldern Die Typhierarchie setzt sich auf Felder fort. Wenn OK eine Oberklasse von UK ist, dann ist OK[] ein Obertyp von UK[]. Dieses Verhalten nennt man bei Programmiersprachen Kovarianz (in Kapitel 4 mehr dazu). [] fungiert hier als sogenannter Typkonstruktor. Typkonstruktoren ermöglichen die Konstruktion neuer Datentypen (hier: Feld von OK bzw. Feld von UK) aus bereits vorhandenen Basisdatentypen (hier OK bzw. UK). Vogel[] vogelschar = new Amsel[20]; vogelschar[0] = new Amsel(); Amsel a = (Amsel) vogelschar[0]; vogelschar[1] = new Drossel(); // ok, Upcast // ok, Upcast // ok, Downcast // Fehler, ClassCastException Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
32 1. Abstrakte Klassen Typumwandlungen Der instanceof-operator zweistelliger Operator, der einen boolschen Wert liefert Syntax: Ausdruck instanceof Referenztyp Liefert true, wenn ein Cast von Ausdruck zu Referenztyp möglich ist. Hierdurch kann eine ClassCastException vermieden werden. Auch als Test möglich, um zu prüfen, ob ein Objekt aus einer bestimmten Unterklasse stammt. Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
33 1. Abstrakte Klassen Typumwandlungen Der instanceof-operator (2) Beispiel: Vogel[] vogelschar = Vogelschar.erzeugeVogelschar(10); int amselzaehler = 0; for (int i=0 ; i<vogelschar.length ; i++) if ( vogelschar[i] instanceof Amsel ) { amselzaehler++; System.out.println("Wir haben " + amselzaehler + " Amseln in der Vogelschar."); Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
34 1. Abstrakte Klassen Zusammenfassung Zusammenfassung Abstrakte Klassen für die Generalisierung, abstrakte Klassen müssen spezialisiert werden Abstrakte Methoden für Operationen in abstrakten Klassen, deren Verhalten erst in den Spezialisierungen genau definiert werden kann. Für eine konkrete Spezialisierung müssen alle abstrakten Methoden überschrieben werden. Typumwandlungen: Up- und Downcast Typüberprüfung mit Hilfe des Operators instanceof Peter Becker, Datenstrukturen und Algorithmen Hochschule Bonn-Rhein-Sieg, SS
5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
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
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
Datenstrukturen und Algorithmen
Datenstrukturen und Algorithmen Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Vorlesung Sommersemester 2013 Allgemeines zur Vorlesung Vorbemerkungen Homepage zur
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
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
Kapitel 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
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
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
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
3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
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
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
Klassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:
Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit
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
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
7. 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
Weitere 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
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
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]
Vererbung, 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
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
Einstieg 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
Beispiel: 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
Vorlesung 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
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
Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
Einstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
Einfü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,
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
Kapitel 5: Interfaces
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,
Java I Vorlesung 6 Referenz-Datentypen
Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:
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
Java für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
2. Unterprogramme und Methoden
2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf
Vorausgesetzte 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,
Java Schulung (Java 2 Java Development Kit 5 / 6)
2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt
Ü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
Vererbung. 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)
Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 10 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik
Programmieren II Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz 9.6 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Abstrakte Klassen: Motivation Prinzip der Vererbung: Aus
Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen
Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen
Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
Javakurs 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
Programmierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
Objektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
Einfü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
9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
9. Vererbung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
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
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
HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2
HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3
Typumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik
Programmieren II Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz 9.6 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Abstrakte Klassen: Motivation Grundidee abstrakter Klassen:
Einstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
Geschachtelte Klassen
Geschachtelte Klassen Christian Schamott 1 / 26 Übersicht Gemeinsamkeiten 4 Arten geschachtelte Klassen Elementklasse Lokale Klassen Anonyme Klassen Statisch geschachtelte Klassen Christian Schamott 2
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
OOP 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
Algorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
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
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
Grundzü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
Liste 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
1 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,
Prozeduren vs. Funktionen
Prozeduren vs. Funktionen Mit der Formalisierung wird auch der Unterschied zwischen Prozeduren und Funktionen noch einmal klar. Der Aufruf beider Varianten bewirkt zunächst das Gleiche: die Eingabevariablen
Programmieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
Programmiertechnik Vererbung & Polymorphismus für Fortgeschrittene
Programmiertechnik Vererbung & Polymorphismus für Fortgeschrittene Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Aufgabe: Finanzbuchhaltungssystem für internationale Hotelkette Problem:
Konzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
Java 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.
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,
Algorithmen und Datenstrukturen 07
5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
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
FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 8 F. Forster, T.
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,
2.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
Sortieren von Objekten
Algorithmen und Datenstrukturen Wintersemester 2013/14 18. Vorlesung Sortieren von Objekten Krzysztof Fleszar Lehrstuhl für Informatik I 1 Die Welt in unseren Programmen 1.357374356-4.526426 25236748458
Programmieren 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
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
Programmieren I. Kapitel 8. Vererbung
Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte
Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte
Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)
Prof. 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
Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
Interfaces 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
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
Theorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
FH 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
Präsentation Interfaces
Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.
Programmiertechnik Objektorientierung
Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche
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
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
Informatik 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.
Java Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
Begriffe 1 (Wiederholung)
Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.
Klassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
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:
Abstrakte Klassen, Interfaces
Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische
Teil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil