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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java"

Transkript

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

2 Übersicht 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen 5 static geschachtelte Klassen und Schnittstellen G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

3 Einführung Innere Klassen sind geschachtelte Klassen, d.h. eine Klasse wird in einer anderen deklariert. Das bringt die folgenden Vorteile mit sich: zusammengehörige Klassen werden zusammengefasst, G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

4 Einführung Innere Klassen sind geschachtelte Klassen, d.h. eine Klasse wird in einer anderen deklariert. Das bringt die folgenden Vorteile mit sich: zusammengehörige Klassen werden zusammengefasst, die Sichtbarkeit wird kontrolliert, G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

5 Einführung Innere Klassen sind geschachtelte Klassen, d.h. eine Klasse wird in einer anderen deklariert. Das bringt die folgenden Vorteile mit sich: zusammengehörige Klassen werden zusammengefasst, die Sichtbarkeit wird kontrolliert, Namenskonflikte mit anderen Objekten im gleichem Paket werden vermieden. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

6 Einführung Innere Klassen sind geschachtelte Klassen, d.h. eine Klasse wird in einer anderen deklariert. Das bringt die folgenden Vorteile mit sich: zusammengehörige Klassen werden zusammengefasst, die Sichtbarkeit wird kontrolliert, Namenskonflikte mit anderen Objekten im gleichem Paket werden vermieden. Geschachtelte Klassen können unabhängig vom Modifizierer gegenseitig auf ihre Komponenten und Methoden zugreifen. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

7 Einführung Innere Klassen sind geschachtelte Klassen, d.h. eine Klasse wird in einer anderen deklariert. Das bringt die folgenden Vorteile mit sich: zusammengehörige Klassen werden zusammengefasst, die Sichtbarkeit wird kontrolliert, Namenskonflikte mit anderen Objekten im gleichem Paket werden vermieden. Geschachtelte Klassen können unabhängig vom Modifizierer gegenseitig auf ihre Komponenten und Methoden zugreifen. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

8 Element-Klassen Die innere Klasse wird bei den Elementen der äußeren Klasse deklariert. Die Klassennamen müssen sich unterscheiden. Die innere Klasse benötigt eine Instanz der äußeren Klasse. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

9 Element-Klassen Die innere Klasse wird bei den Elementen der äußeren Klasse deklariert. Die Klassennamen müssen sich unterscheiden. Die innere Klasse benötigt eine Instanz der äußeren Klasse. Der Modifizierer der inneren Klasse ist frei wählbar, d.h. er hängt nicht vom Modifizierer der äußeren Klasse ab. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

10 Element-Klassen Die innere Klasse wird bei den Elementen der äußeren Klasse deklariert. Syntax Die Klassennamen müssen sich unterscheiden. Die innere Klasse benötigt eine Instanz der äußeren Klasse. Der Modifizierer der inneren Klasse ist frei wählbar, d.h. er hängt nicht vom Modifizierer der äußeren Klasse ab. class Aussen { // Daten und Methoden class Innen { // Daten und Methoden } } G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

11 Element-Klassen Die innere Klasse wird bei den Elementen der äußeren Klasse deklariert. Syntax Die Klassennamen müssen sich unterscheiden. Die innere Klasse benötigt eine Instanz der äußeren Klasse. Der Modifizierer der inneren Klasse ist frei wählbar, d.h. er hängt nicht vom Modifizierer der äußeren Klasse ab. class Aussen { // Daten und Methoden class Innen { // Daten und Methoden } } G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

12 Element-Klassen Bei der Kompilierung legt der Kompiler für die innere Klasse eine separate class-datei an, im obigen Beispiel: Achtung Aussen$Innen.class Elementklassen dürfen keine statischen Komponenten, Methoden oder Klassen enthalten, solange die Elementklasse nicht selber static ist! G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

13 Element-Klassen Bei der Kompilierung legt der Kompiler für die innere Klasse eine separate class-datei an, im obigen Beispiel: Achtung Aussen$Innen.class Elementklassen dürfen keine statischen Komponenten, Methoden oder Klassen enthalten, solange die Elementklasse nicht selber static ist! G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

14 Lokale Klassen Lokale Klassen werden in einem Block in einer Methode der äußeren Klasse deklariert. Die Klassennamen müssen sich unterscheiden. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

15 Lokale Klassen Lokale Klassen werden in einem Block in einer Methode der äußeren Klasse deklariert. Die Klassennamen müssen sich unterscheiden. Es sind keine Modifizierer sowie statische Komponenten erlaubt. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

16 Lokale Klassen Lokale Klassen werden in einem Block in einer Methode der äußeren Klasse deklariert. Die Klassennamen müssen sich unterscheiden. Es sind keine Modifizierer sowie statische Komponenten erlaubt. Zugriffe auf lokale Konstanten der äußeren Klasse sind erlaubt, dabei müssen die Konstanten allerdings vor der inneren Klasse definiert sein, Zugriffe auf lokale Variablen der äußeren Klasse sind hingegen verboten (Bei der Kompilierung wird eine separate class Datei erzeugt, die eine Kopie der lokalen Variablen enthält.). G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

17 Lokale Klassen Lokale Klassen werden in einem Block in einer Methode der äußeren Klasse deklariert. Achtung Die Klassennamen müssen sich unterscheiden. Es sind keine Modifizierer sowie statische Komponenten erlaubt. Zugriffe auf lokale Konstanten der äußeren Klasse sind erlaubt, dabei müssen die Konstanten allerdings vor der inneren Klasse definiert sein, Zugriffe auf lokale Variablen der äußeren Klasse sind hingegen verboten (Bei der Kompilierung wird eine separate class Datei erzeugt, die eine Kopie der lokalen Variablen enthält.). Ist die Methode statisch, so darf in der inneren Klasse nur auf statische Elemente der äußeren Klasse zugegriffen werden, andernfalls auf alle! G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

18 Lokale Klassen Lokale Klassen werden in einem Block in einer Methode der äußeren Klasse deklariert. Achtung Die Klassennamen müssen sich unterscheiden. Es sind keine Modifizierer sowie statische Komponenten erlaubt. Zugriffe auf lokale Konstanten der äußeren Klasse sind erlaubt, dabei müssen die Konstanten allerdings vor der inneren Klasse definiert sein, Zugriffe auf lokale Variablen der äußeren Klasse sind hingegen verboten (Bei der Kompilierung wird eine separate class Datei erzeugt, die eine Kopie der lokalen Variablen enthält.). Ist die Methode statisch, so darf in der inneren Klasse nur auf statische Elemente der äußeren Klasse zugegriffen werden, andernfalls auf alle! G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

19 Beispiel class Aussen { private int var1; public void methode () { int var2; final int konst1 = 333; class Innen { // innere Klasse Innen () { // Konstruktor System.out.println(var1); // ok System.out.println(var2); // Fehler! System.out.println(konst1); // ok } } } new Innen(); // Konstruktor-Aufruf } public static void main(string[] s) { Aussen Referenz = new Aussen (); Referenz.methode (); } G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

20 Anonyme Klassen Manchmal werden Klassen (Subklassen, Implementierungen einer Schnittstelle) nur für eine einzige Instanz benötigt. Beispiel... class MeineKlasse extends Vorlage { void info() {... } // Methode ueberschreiben } MeineKlasse m = new MeineKlasse (); // einmalig Instanz bilden... G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

21 Anonyme Klassen Manchmal werden Klassen (Subklassen, Implementierungen einer Schnittstelle) nur für eine einzige Instanz benötigt. Beispiel... class MeineKlasse extends Vorlage { void info() {... } // Methode ueberschreiben } MeineKlasse m = new MeineKlasse (); // einmalig Instanz bilden... G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

22 Anonyme Klassen Dies kann einfacher mit einer anonymen Klasse formuliert werden. Anonyme Klassen sind lokal und verzichten auf einen Bezeichner, also einen Namen für die Klasse. Beispiel... Vorlage m = new Vorlage() {void info() {... }};... Es wird eine abgeleitete Klasse der Klasse Vorlage gebildet und die Methode info() ersetzt. Weiterhin wird eine Instanz der anonymen Klasse erzeugt, die den Typ der Superklasse besitzt. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

23 Anonyme Klassen Dies kann einfacher mit einer anonymen Klasse formuliert werden. Anonyme Klassen sind lokal und verzichten auf einen Bezeichner, also einen Namen für die Klasse. Beispiel... Vorlage m = new Vorlage() {void info() {... }};... Es wird eine abgeleitete Klasse der Klasse Vorlage gebildet und die Methode info() ersetzt. Weiterhin wird eine Instanz der anonymen Klasse erzeugt, die den Typ der Superklasse besitzt. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

24 Anonyme Klassen Anonyme Klassen können nur mit Schnittstellen bzw. Basisklassen gebildet werden. Definitionen eigener neuer Methoden sind nicht sinnvoll, da diese nicht angesprochen werden können. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

25 Anonyme Klassen Anonyme Klassen können nur mit Schnittstellen bzw. Basisklassen gebildet werden. Definitionen eigener neuer Methoden sind nicht sinnvoll, da diese nicht angesprochen werden können. Es kann kein (expliziter) Konstruktor gebildet werden. Damit ist der Zugriff auf den super-konstruktor ebenfalls nicht möglich. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

26 Anonyme Klassen Anonyme Klassen können nur mit Schnittstellen bzw. Basisklassen gebildet werden. Definitionen eigener neuer Methoden sind nicht sinnvoll, da diese nicht angesprochen werden können. Es kann kein (expliziter) Konstruktor gebildet werden. Damit ist der Zugriff auf den super-konstruktor ebenfalls nicht möglich. Es ist insgesamt nur eine Instanz möglich. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

27 Anonyme Klassen Anonyme Klassen können nur mit Schnittstellen bzw. Basisklassen gebildet werden. Definitionen eigener neuer Methoden sind nicht sinnvoll, da diese nicht angesprochen werden können. Es kann kein (expliziter) Konstruktor gebildet werden. Damit ist der Zugriff auf den super-konstruktor ebenfalls nicht möglich. Es ist insgesamt nur eine Instanz möglich. Der Kompiler erzeugt für diese Instanz eine eigene class-datei (an den Namen der äußeren Klasse wird eine fortlaufende Nummer angehängt, also z.b. Aussen$1.class). G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

28 Anonyme Klassen Achtung Anonyme Klassen können nur mit Schnittstellen bzw. Basisklassen gebildet werden. Definitionen eigener neuer Methoden sind nicht sinnvoll, da diese nicht angesprochen werden können. Es kann kein (expliziter) Konstruktor gebildet werden. Damit ist der Zugriff auf den super-konstruktor ebenfalls nicht möglich. Es ist insgesamt nur eine Instanz möglich. Der Kompiler erzeugt für diese Instanz eine eigene class-datei (an den Namen der äußeren Klasse wird eine fortlaufende Nummer angehängt, also z.b. Aussen$1.class). Es sind keine statische Komponenten erlaubt! G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

29 Anonyme Klassen Achtung Anonyme Klassen können nur mit Schnittstellen bzw. Basisklassen gebildet werden. Definitionen eigener neuer Methoden sind nicht sinnvoll, da diese nicht angesprochen werden können. Es kann kein (expliziter) Konstruktor gebildet werden. Damit ist der Zugriff auf den super-konstruktor ebenfalls nicht möglich. Es ist insgesamt nur eine Instanz möglich. Der Kompiler erzeugt für diese Instanz eine eigene class-datei (an den Namen der äußeren Klasse wird eine fortlaufende Nummer angehängt, also z.b. Aussen$1.class). Es sind keine statische Komponenten erlaubt! G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

30 static geschachtelte Klassen und Schnittstellen Statisch geschachtelte Klassen bzw. Schnittstellen verhalten sich wie Elementklassen, sind jedoch zusätzlich mit dem Schlüsselwort static versehen. Sie besitzen keinen Bezug zu einer Instanz und sind daher sogenannte Top-Level Klassen bzw. Top-Level Schnittstellen. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

31 static geschachtelte Klassen und Schnittstellen Statisch geschachtelte Klassen bzw. Schnittstellen verhalten sich wie Elementklassen, sind jedoch zusätzlich mit dem Schlüsselwort static versehen. Sie besitzen keinen Bezug zu einer Instanz und sind daher sogenannte Top-Level Klassen bzw. Top-Level Schnittstellen. Von außen über die Klassennamen Aussen.Innen ansprechbar. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

32 static geschachtelte Klassen und Schnittstellen Statisch geschachtelte Klassen bzw. Schnittstellen verhalten sich wie Elementklassen, sind jedoch zusätzlich mit dem Schlüsselwort static versehen. Sie besitzen keinen Bezug zu einer Instanz und sind daher sogenannte Top-Level Klassen bzw. Top-Level Schnittstellen. Von außen über die Klassennamen Aussen.Innen ansprechbar. Außer beim Namen besitzt diese Klassengattung keine echte Schachtelung. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

33 static geschachtelte Klassen und Schnittstellen Statisch geschachtelte Klassen bzw. Schnittstellen verhalten sich wie Elementklassen, sind jedoch zusätzlich mit dem Schlüsselwort static versehen. Sie besitzen keinen Bezug zu einer Instanz und sind daher sogenannte Top-Level Klassen bzw. Top-Level Schnittstellen. Von außen über die Klassennamen Aussen.Innen ansprechbar. Außer beim Namen besitzt diese Klassengattung keine echte Schachtelung. Eine statisch geschachtelte Schnittstelle darf eine Klasse enthalten, welche (implizit) statisch ist und daher eine Top-Level Klasse ist. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

34 static geschachtelte Klassen und Schnittstellen Statisch geschachtelte Klassen bzw. Schnittstellen verhalten sich wie Elementklassen, sind jedoch zusätzlich mit dem Schlüsselwort static versehen. Sie besitzen keinen Bezug zu einer Instanz und sind daher sogenannte Top-Level Klassen bzw. Top-Level Schnittstellen. Von außen über die Klassennamen Aussen.Innen ansprechbar. Außer beim Namen besitzt diese Klassengattung keine echte Schachtelung. Eine statisch geschachtelte Schnittstelle darf eine Klasse enthalten, welche (implizit) statisch ist und daher eine Top-Level Klasse ist. G. Bohlender (IANM UNI Karlsruhe) Innere Klassen / 11

Einstieg in die Informatik mit Java

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

Mehr

Geschachtelte Klassen

Geschachtelte Klassen Geschachtelte Klassen Die Programmiersprache Java bietet nicht nur die Möglichkeit innerhalb von Klassen Datenfelder und Methoden zu definieren, sondern auch Klassen. Solche Klassen heißen en geschachtelte

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

Geschachtelte Klassen

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

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

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

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

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

Einstieg in die Informatik mit Java

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

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

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Innere Klassen in Java

Innere Klassen in Java Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen

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

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

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

Mehr

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

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

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

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

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

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern

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

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

1 Abstrakte Klassen, finale Klassen und Interfaces

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,

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

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)

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

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

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

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

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

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

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.

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Objektorientierte Programmierung. Kapitel 16: Pakete, Zugriffsschutz

Objektorientierte Programmierung. Kapitel 16: Pakete, Zugriffsschutz Stefan Brass: OOP (Java), 16. Pakete, Zugriffsschutz 1/30 Objektorientierte Programmierung Kapitel 16: Pakete, Zugriffsschutz Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14

Mehr

Java I Vorlesung Vererbung und Sichtbarkeit

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.

Mehr

Java Vererbung. Inhalt

Java Vererbung. Inhalt Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

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/

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

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

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. Was versteht man unter dem Begriff Vererbung?

Vererbung. Was versteht man unter dem Begriff Vererbung? Was versteht man unter dem Begriff Vererbung? Elternkonstrukt - Datenelemente - Methoden o Deklaration o Definition Kindkonstrukt... Main... Elternkonstrukt b = new Kindkonstrukt() b.fn() Komponenten &

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

5.6 Vererbung. Vererbung

5.6 Vererbung. Vererbung 5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

OOP III Auf den Grund gegangen (fast)

OOP III Auf den Grund gegangen (fast) OOP III Auf den Grund gegangen (fast) Vorüberlegungen und -arbeiten Eigenschaften = Instanzvariablen Größe Geschlecht class Vogel Fähigkeiten = Methoden: fortpflanzen fressen Eine Klasse Vogel soll definiert

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Faustregeln zu Zusicherungen

Faustregeln zu Zusicherungen Faustregeln zu Zusicherungen Zusicherungen sollen stabil sein (vor allem an Wurzel der Typhierarchie) keine unnötigen Details festlegen explizit im Programm stehen unmissverständlich formuliert sein während

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung

Mehr

Statische Methoden, Vererbung, Benutzereingabe

Statische Methoden, Vererbung, Benutzereingabe Statische Methoden, Vererbung, Benutzereingabe Dr. Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Action required now

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

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:

Mehr

Präsentation Interfaces

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.

Mehr

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

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

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Java I Vorlesung 6 Referenz-Datentypen

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:

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

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

Enumerations und innere Klassen

Enumerations und innere Klassen Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

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

7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 7. Klassenmethoden 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

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Teil 15: Wiederholung Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 3. Februar 2016

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 2, 21.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht 20.3: Java 21.3: Objektorientierte Programmierung 22.3: Dynamische Datenstrukturen 23.3: Datenbanksysteme

Mehr

Programmieren I. Kapitel 8. Vererbung

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

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-3

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

Theorie zu Übung 8 Implementierung in Java

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

Mehr

Typumwandlungen bei Referenztypen

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

Mehr

Java Einführung Klassendefinitionen

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

Mehr

Teil 2: OOP und JAVA (Vorlesung 11)

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

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

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:

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

Konstruktoren, Packages und Scopes

Konstruktoren, Packages und Scopes Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Konstruktoren, Packages und Scopes Dipl. Inf. Manuel Götz Lehrstuhl für Angewandte

Mehr

1. Abstrakte Klassen

1. Abstrakte Klassen 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,

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Einführung in die objektorientierte Programmierung 2 Einordnung in den Softwareentwicklungsprozess Softwareentwicklung mit JAVA Planung Entwurf Programmierung Test/Evaluation/Pflege

Mehr

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java Einführung Abstrakte Klassen und Interfaces Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer

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

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

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 6 Referenzdatentypen - Klassen... 6-2 6.1 Deklaration und Instanziierung... 6-3 6.1.1 Festlegen eines Strukturtyps als Klasse... 6-3 6.1.2 Festlegen einer Struktur als Objekt einer Klasse... 6-4

Mehr

5. Abstrakte Klassen

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,

Mehr

Aufbau von Klassen. class punkt {...

Aufbau von Klassen. class punkt {... Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im

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