Kurs OPR. Objektorientierte Programmierung
|
|
- Ursula Salzmann
- vor 7 Jahren
- Abrufe
Transkript
1 Kurs OPR Objektorientierte Programmierung Lektion: 006-Abstrakte Klassen, Interfaces etc. Zürcher Hochschule für Angewandte Wissenschaften Mitglied der Fachhochschule Zürich Version 1.4
2 Inhaltsverzeichnis 1 Abstrakte Klassen und Interfaces Ziele Abstrakte Klassen Interface (Schnittstelle) Mehrfachvererbung und Interfaces Interfaces vs. abstrakte Klassen Adapterklassen Professionelles Programmieren 10 2 Programmpakete Ziele Packages Importieren von Klassen und Packages Sichtbarkeitsregeln für Packages Professionelles Programmieren 15 Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 2
3 1 Abstrakte Klassen und Interfaces 1.1 Ziele Sie können die Begriffe abstrakte Klasse, Methode und Interface erklären. Sie können mit abstrakten Klassen und Interfaces umgehen. Sie können an Beispielen erklären, wie und wozu abstrakte Klassen und Interfaces verwendet werden. Sie können eigene abstrakte Klassen und Interfaces schreiben. 1.2 Abstrakte Klassen Problemstellung Beispiel: Wir möchten ein Package schreiben, das Klassen für verschiedene Figuren enthält (Rechteck, Ellipse, Dreieck). Die Figuren sollen alle die gleiche Funktionalität haben Mögliche Klassenhierarchie des Package: Figur int xpos, ypos int breite, hoehe setsize(int b, int h) setposition(int x, int y) anzeigen(graphics g) float getflaeche() Rechteck Kreis int radius anzeigen(graphics g) float getflaeche() anzeigen(graphics g) float getflaeche() Abbildung 1: Mögliche Klasserhierarchie eines Package für Figuren Methoden, die alle Subklassen haben müssen, werden in der Superklasse deklariert. (Dank Polymorphismus wird jeweils die richtige Methode ausgewählt) Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 3
4 Einige Methode können auch in der Superklasse implementiert werden. Beispiel: setsize(int b, int h), setposition(int x, int y) Andere Methoden können hingegen nicht sinnvoll implementiert werden Beispiel: anzeigen(graphics g), float getflaeche() Problem: Wie stellt man sicher, dass auch zukünftige Subklassen von Figur, die gemeinsamen Methoden implementieren? Lösung: abstrakte Methoden und Klassen: Die Methoden anzeigen(graphics g) und float getflaeche() werden als abstract deklariert: public abstract void anzeigen(graphics g); public abstract float getflaeche(); Abstrakte Methoden haben nur einen Methodenkopf (Signatur), keinen Methodenkörper haben einen Strichpunkt (;) nach der Signatur haben den Modifikator abstract im Methodenkopf Folge für die Klasse Figur: Sobald eine Methode der Klasse Figur abstract ist, muss auch die Klasse selbst als abstract deklariert sein: public abstract class Figur{ public abstract void anzeigen(grapics g); public abstract float getflaeche(); Abstrakte Klasse Eine abstrakte Klasse hat mindestens eine abstrakte Methode und/oder ist als abstract deklariert. Sie kann nicht instanziert werden. Subklassen von abstrakten Klassen müssen die abstrakten Methoden implementieren. Falls sie das nicht tun, müssen sie ebenfalls als abstract deklariert sein. Beispiel von Abbildung 1: Die Klasse Rechteck wird von Klasse Figur abgeleitet und implementiert die abstrakten Methoden: class Rechteck extends Figur{ public void anzeigen(graphics g){ g.drawrect(xpos, ypos, breite, hoehe); public float getflaeche(){ return (float) breite*hoehe; Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 4
5 Aufgabe: Leiten Sie die Klasse Kreis von der abstrakten Klasse Figur ab. Lösung: Vorteile durch die Verwendung von abstrakten Klassen: Ein bestimmtes Klassendesign kann erzwungen werden. Sie erlaubt die Klassenbeschreibung in höheren Abstaktionsebenen: Von der Klasse Figur von oben können keine Objekte erzeugt werden. Sie fasst aber alle Objekte mit bestimmten Eigenschaften unter einem neuen Namen zusammen. Analogie in der Biologie: Ein Säugetier existiert selbst nicht, sondern ist ein Sammelbegriff (Abstraktion) von real existierenden Tieren. Alles in allem: Abstrakte Klassen erleichtern die Planung und den Aufbau von Klassenhierarchien 1.3 Interface (Schnittstelle) Ein Interface definiert eine Schnittstelle zwischen Klassen (siehe Abbildung 2). Ein Interface ist eine Klasse, die nur aus Methodenköpfen besteht. Beispiel: public interface Ballon { public void changesize(int newdiameter); public void move(int newx, int newy); public void display(graphics g); Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 5
6 Klasse A: verwendet Interface P Interface P + _ Klasse 1: implementiert Interface P Klasse 2: implementiert Interface P Klasse B: verwendet Interface P... Klasse 4: implementiert Interface P Abbildung 2: Interface Merkmale eines Interfaces Interfaces definieren wie Klassen einen neuen Datentyp. Es können somit Variablen dieses Datentyps deklariert werden, z.b.: Ballon ball; Interfaces können wie Klassen an Sub-Interfaces weitervererbt werden. Ein Interface ist immer abstract (abstract kann auch weggelassen werden). Es können deshalb keine Objekte aus einem Interface erzeugt werden. Ein Interface beschreibt nur die Schnittstelle (Klasse, Methoden, Parameter) einer Klassen, nicht deren Implementierung. Alle Methoden eines Interfaces sind public und abstract, auch wenn sie nicht explizit so deklariert sind. Methoden dürfen nicht static sein. Hingegen sind alle Variablen eines Interfaces static final (d.h. Konstanten) sein, auch wenn sie nicht explizit so deklariert sind. Interfaces können compiliert, aber nicht laufen gelassen werden. Das Compilieren erlaubt Typenprüfung bei der Verwendung eines Interfaces. Das compiliertes Interface wird ebenfalls als Class-Datei, InterfaceName.class, gespeichert. Implementieren von Interfaces: Ein Interface wird durch eine Klasse implementiert, die alle Methoden des Interfaces implementiert. Deklaration einer Klasse, die ein Interface implementiert: class MeineKlasse implements Interfacename {... Die Klasse muss alle Methoden des Interfaces Interfacename implementieren. Dies wird vom Compiler überprüft. Interfaces können wie Klassen andere Interfaces durch extends erweitern. Klassen, die ein Sub-Interface implementieren, müssen auch alle Methoden der Super-Interfaces Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 6
7 implementieren. Eine Klasse kann gleichzeitig mehrere Interfaces implementieren: class MeinKlasse implements Interface1, Interface2,... {... Interfaces dienen zur Beschreibung von: Klassen, die bestimmte Methoden zur Verfügung stellen. ganzen Vererbungsstrukturen Interfaces können nicht verwendet werden für Beschreibung der Implementation der einzelnen Methoden Verwendung von anderen Klassen (hat-ein-relation. Grund: Nur Konstanten in Interfaces erlaubt) Beispiel für den Einsatz eines Interface: Methode zeichnelinksbuendig Wir möchten eine Methode schreiben, die eine Anzahl beliebiger graphischer Objekte linksbündig darstellen kann. Die Objekte müssen die zwei Methoden setposition und anzeigen zur Verfügung stellen. Dazu definieren wir folgendes Interface: import java.awt.*; public interface Darstellbar{ public void setposition(int x, int y); public void anzeigen(graphics g); Die Methode zeichnelinksbuendig sieht dann wie folgt aus: public void zeichnelinksbuendig(graphics g, Darstellbar[] figuren, int xpos, int abstand){ for (int i=0; i<figuren.length; i++){ figuren[i].setposition(xpos,i*abstand); figuren[i].anzeigen(g); Beachten Sie: zeichnelinksbuendig besitzt einen Array-Parameter vom Typ Darstellbar. Die Methode kann beliebige Objekte, die Darstellbar implementieren, darstellen. Aufgabe: Schreiben Sie eine Klasse Rechteck, die das Interface Darstellbar implementiert. Wie könnte man erreichen, dass alle Subklassen der Klasse Figur das Darstellbar- Interface implementieren? Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 7
8 Lösung: 1.4 Mehrfachvererbung und Interfaces Java erlaubt nur einfache Vererbung Mehrfachvererbung ist aber nachbildbar mit Interfaces, da eine Klasse mehrere Interfaces implementieren kann. Beispiel: Das Applet MeinSpiel ist abgeleitet von der Klasse Applet (Vererbung) Zusätzlich soll es die Interfaces ActionListener und MouseListener implementieren: public class MeinSpiel extends Applet implements ActionListener, MouseListener{... Darstellung in UML siehe Abbildung Interfaces vs. abstrakte Klassen Unterschied zwischen abstakten Klassen und Interfaces: Abstrakte Klassen können Methoden-Implementationen enthalten, Interfaces nicht. Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 8
9 Eine Klasse kann mehrere Interfaces implementieren, aber nur eine Klasse erweitern. Interfaces werden nur beim Compilieren gebraucht. Methoden abstrakter Klassen werden dagegen zur Laufzeit zum Programm gelinkt. Objekt Applet MouseListener MeinSpiel ActionListener Abbildung 3: Implementation von Interfaces in UML 1.6 Adapterklassen In Java sind sogenannte Adapterklassen für jedes EventListener-Interface vordefiniert: Adapterklassen sind abstrakte Klassen, die das entsprechende Interface implementieren. Vorteil: Falls man nur eine Methode braucht, erweitert man einfacher die Adapterklasse, anstatt das ganze Interface zu implementieren. Beispiel: MouseListener Interface schreibt schreibt vor, dass die folgenden 5 Methoden implementiert werden müssen: mouseclicked(mouseevent e) // Maustaste geclickt mousepressed(mouseevent e) // Maustaste gedrückt mousereleased(mouseevent e) // Maustaste losgelassen mouseentered(mouseevent e) // Cursor in Komponente // eingetreten mouseexited(mouseevent e) // Cursor hat Komponent // verlassen Falls man z.b. nur mouseclicked braucht, müssen die anderen trotzdem geschrieben werden. Alternative: Verwendung (d.h. Erweiterung) der Klasse MouseAdapter: Vorteil: Es muss nur die Methode mouseclicked überschrieben werden: public class MeineKlasse extends MouseAdapter{ public void mousclicked(mouseevent e){... Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 9
10 Zu jedem Listener mit dem Namen XXXListener gibt es eine entsprechende Adapterklasse mit dem Namen XXXAdapter. 1.7 Professionelles Programmieren Interfaces und alle Bestandteile davon gut dokumentieren aus Sicht des Anwenders, nicht des Implementierers. Für Interfaces gelten die gleichen Regeln für die Namensgebung wie bei Klassennamen. Verwenden Sie Interfaces, um Klassen und Subsysteme zu entkoppeln. Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 10
11 2 Programmpakete 2.1 Ziele Sie können Klassen aus gegebenen Packages importieren. Sie können eigene Packages deklarieren. 2.2 Packages Normalerweise befindet sich jede Java-Klasse in einem eigenen File mit dem gleichem Filenamen wie die Klasse. Falls zwei Klassen denselben Namen haben, so sind sie nicht mehr eindeutig identifizierbar. Abhilfe: Der gesamte Namensraum wird durch sogenannte Packages aufgeteilt. Packages Fasst eine Gruppe von Klassen (und eventuell Subpackages) zusammen unter einem (möglichst eindeutigen) Namen Beispiele: java.applet : Alle Klassen im Zusammenhang mit Applets java.awt : Die Klassen des Abstract-Windowing-Toolkit javax.swing : Die Klassen von Swing Vorteile: Klassen werden eindeutig spezifizierbar durch Angabe des Packagenamens. Die Daten innerhalb eines Packages werden zusätzlich gekapselt. Es können zusätzliche Zugriffsberechtigung für Klassen innerhalb desselben Packages definiert werden. Klassen desselben Package werden im gleichen Directory gespeichert. Der Name des Directorys muss gleich sein wie der des Package. Deklaration: Package-Deklaration muss als erstes Statement in jeder Klasse stehen: package mypackage; import java.applet.*; Package-Namen Beginnen normalerweise mit Kleinbuchstaben (häufig ganzer Packagename kleingeschrieben) Sonst gelten die gleichen Regeln wie bei Klassennamen. Packagenamen sollten internetweit eindeutig sein. Vorschlag für internetweit eindeutige Package- Namen: URL verwenden. Damit würde eine Methode einer bestimmten Klasse folgendermassen eindeutig spezifiziert: firmendomänenname.verzeichnis1.verzeichnis packagename.klassenname.methodenname Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 11
12 Beispiele: com.sybase.jdbc.sybdriver ch.zhaw.huhp.meinpackage.genialeklasse Klassen ohne Package-Angabe gehören zu einem anonymen Package. Zu ihm gehören alle "anonymen" Klassen im gleichen File und im gleichen Directory. Welche Klassen soll man zu Packages zusammenfassen? Es gibt keine Regeln über die Anzahl Klassen pro Package Klassen die einander häufig brauchen, sollten im gleichem Package ablegt sein Klassen, die häufig gebraucht werden, werden häufig in separate Packages abgelegt (Klassenbibliothek) 2.3 Importieren von Klassen und Packages Generell muss jede Klasse, die verwendet wird, eindeutig mit dem vollen Package-Namen spezifiziert werden. Der volle Package-Name kann nur weggelassen werden, wenn die entsprechende Klasse mit einem import-statement am Anfang der Datei importiert wird: Beispiel: Wir möchten die Klassenmethode statmethode() der Klasse mypackage.myclass aufrufen. ohne import: mypackage.myclass.statmethode(); mit import: import mypackage.myclass;... MyClass.statMethode(); Falls alle Klassen eines Packages importiert werden sollen: import mypackage.*; Zur eindeutigen Spezifikation eines Packages muss der ganze Directory-Pfad des Package angegeben werden: Beispiel: import projects.myproject.mypackage; projects muss dabei ein Subdirectory eines Verzeichnisses im Classpath von Java sein. Die Punkte werden je nach Betriebssystem in / oder \ übersetzt, um entsprechendes Directory zu finden. Die Packages im JDK beginnen mit java (Standardklassen) javax (Standard-Erweiterungsklassen des JDK) org.omg (CORBA) Basis-Package java.lang wird automatisch importiert enthält die grundlegenden Klassen von Java. Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 12
13 2.4 Sichtbarkeitsregeln für Packages Java definiert für Packages einen zusätzlichen Sichtbarkeitsbereich: package. Dies ist die Standardsichtbarkeit in Java. Klassen, Methoden, Variablen mit package-sichtbarkeit sind in jeder Klasse innerhalb des gleichen Packages sichtbar. Deklaration der package-sichtbarkeit: int x; // ohne Sichtbarkeitsmodifikator package-sichtbarkeit Zusammenfassung aller Zugriffsmodifikatoren in Java gibt folgende Tabelle 1: Sichtbarkeit Zugriffsmodifikator gleiche Klasse gleiches Package Subklasse in anderem Package andere Klasse in anderem Package private ja nein nein nein keiner (d.h. package) ja ja nein nein protected ja ja ja nein public ja ja ja ja Tabelle 1: Zugriffsmodifikatoren in Java Übung Studieren Sie das folgende Programm 1 und markieren Sie alle Zeilen, die einen Compiler-Fehler ergeben (weil eine Variable, Methoden oder Klasse) nicht sichtbar ist. package sicht1; import sicht2.*; public class Sichtbarkeit { public static void main(string[] args){ SamePackage same = new SamePackage(); PublicKlasse publicobj = new PublicKlasse(); PrivatKlasse privatobj = new PrivatKlasse(); SubOtherKlasse subotherobj = new SubOtherKlasse(); System.out.println("a = "+ same.a); System.out.println("b = "+ same.b); System.out.println("c = "+ same.c); System.out.println("d = "+ same.d); System.out.println("Package sicht2"); System.out.println("a = "+ publicobj.a); System.out.println("b = "+ publicobj.b); System.out.println("c = "+ publicobj.c); Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 13
14 System.out.println("d = "+ publicobj.d); System.out.println("SubOtherKlasse"); System.out.println("a = "+ subotherobj.a); System.out.println("b = "+ subotherobj.b); System.out.println("c = "+ subotherobj.c); System.out.println("d = "+ subotherobj.d); neue Datei package sicht1; class SamePackage{ private int a = 1; public int b = 2; int c = 3; protected int d = 4; neue Datei package sicht1; class SubOtherKlasse extends PublicKlasse{ SubOtherKlasse(){ System.out.println("a = "+ a); System.out.println("b = "+ b); System.out.println("c = "+ c); System.out.println("d = "+ d); neue Datei package sicht2; public class PublicKlasse{ private int a = 10; public int b = 11; int c = 12; protected int d = 13; neue Datei package sicht2; class PrivatKlasse{ private int a = 20; public int b = 21; int c = 22; protected int d = 23; Programm 1: Sichtbarkeit Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 14
15 2.5 Professionelles Programmieren Wenn mehr als eine Klasse von einem Package importiert werden soll, importieren Sie das ganze Package mit einer Wildcard. Abstrakte Klassen, Interfaces etc.doc 2010 InIT/ZHAW 15
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
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrINE2 OOP mit Java 3 Abstrakte Klassen und Interfaces
INE2 OOP mit Java 3 Abstrakte Klassen und Interfaces Abstrakte Klassen Interfaces (Schnittstelle) Mehrfachvererbung mit Interfaces Interfaces vs. abstrakte Klassen Innere Klassen Anonyme Klassen Adapterklassen
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
Mehr10. Pakete. Ein Paket (package) bündelt thematisch zusammengehörige Klassen und Schnittstellen zu einer Klassenbibliothek.
10. Pakete Grundlagen zu Paketen 10. Pakete Ein Paket (package) bündelt thematisch zusammengehörige Klassen und Schnittstellen zu einer Klassenbibliothek. Beispiele: java.lang: Standardklassen zur Sprache
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrProgrammieren 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
MehrProf. 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
MehrKlassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, Schnittstellen und Pakete
2 Klassen und ihre Beziehungen III: Mehrfache Vererbung, Rollen, und Pakete Martin Wirsing Ziele Den Begriff der einfachen und mehrfachen Vererbung verstehen Verstehen, wann Vererbung eingesetzt wird deklarationen
MehrTeil 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
MehrPakete Software Entwicklung 1
Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrMethoden 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
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrInnere 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
Mehr3 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
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrSilke 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
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrAbstrakte Klassen und Interfaces
Abstrakte n und Interfaces Abstrakte n Interfaces (Schnittstelle) Mehrfachvererbung mit Interfaces Interfaces vs. abstrakte n Innere n Anonyme n Adapterklassen Abstrakte n 2 50 Abstrakte n und Methoden
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrEinstieg 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
MehrSilke 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
MehrExkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen
MehrAbgabe: 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,
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber in den Übungen! Linux, OS X http://hhu-fscs.de/linux-install-party/
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
Mehr14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
MehrInfo B VL 8: Abstrakte Klassen & Interfaces
Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte
MehrGeschachtelte 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
MehrAbstrakte Klassen und Schnittstellen. Abstrakte Klassen und Schnittstellen. Abstrakte Klassen und Schnittstellen. Vererbung von abstrakten Methoden
und und Definieren Typen (nicht instanziierbare ) Können Methoden- und Attributdefinitionen enthalten Methoden können abstrakt definiert werden (Methoden ohne Rumpf) und abstrakte werden vererbt(einfache
MehrEinstieg 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
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrUniversität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek
Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrJava 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
MehrProgrammieren in Java
Programmieren in Java Einführung in die objektorientierte Programmierung Teil 2 2 Übersicht der heutigen Inhalte Vererbung Abstrakte Klassen Erweitern von Klassen Überladen von Methoden Überschreiben von
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrProgrammieren 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
MehrVererbung, Polymorphismus
Vererbung, Polymorphismus INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Automobilbau Firma produziert Limousine Kunde möchte Kombi Wielösen? Möglichkeiten Neudesign
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II
Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober 2001 Stefan Holland Informatik II Hinweise: Klausur II Verwenden Sie für Ihre Lösungen ausschließlich
MehrEinstieg 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
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrTheorie 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
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
Mehr1. In welchen Formen (mindestens zwei) kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen?
Kapitel 2 1. In welchen Formen (mindestens zwei) kann man durch das Ersetzbarkeitsprinzip Wiederverwendung erzielen? 1. Durch das Verwenden von Untertypbeziehungen: Untertypen können oft einen Großteil
Mehr// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen();
Typecast class Pilz void suchen() void sammeln() class EßbarerPilz extends Pilz Suppe kochen() Suppe einesuppe = new Suppe(); return einesuppe; class GiftPilz extends Pilz void entsorgen() class Suppe
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrII.4.5 Generische Datentypen - 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.5 Generische Datentypen - 1 - Ähnliche
MehrAufbau einer typischen Java-Datei
Aufbau einer typischen Java-Datei 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [package mein.paket;] [import
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 10: Mehr zur Vererbung und abstrakte Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Mehr zur Vererbung Methoden vererben und überschreiben
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
MehrProgrammiertechnik 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
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 2 22.03.2017 Was bisher geschah... Klassen und Objekte Attribute und Methoden Klasse Bruch
MehrObjekt-Orientierte Programmierung
Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Schnittstellen, Vererbung & Polymorphismus für Fortgeschrittene
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Schnittstellen, Vererbung & Polymorphismus für Fortgeschrittene Motivation Aufgabe: Finanzbuchhaltungssystem für internationale Hotelkette
MehrProgrammiertechnik 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:
MehrPrä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.
MehrInformatik II Übung, Woche 17
Giuseppe Accaputo 28. April, 2016 1. Vererbung 2. Vorbesprechung Übung 8 Plan für heute 3. Erweiterung des Vorlesungsverzeichnis (VVZ) (Live-Programmierung) Informatik II (D-BAUG) Giuseppe Accaputo 2 Vererbung
MehrObjektorientierte 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/
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrVererbung. 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
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung
MehrDeklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse
Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten
MehrTafelübung 07 Algorithmen und Datenstrukturen
Tafelübung 07 Algorithmen und Datenstrukturen Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Vererbung Grundlagen Abstrakte
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrImplementieren 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
MehrAlgorithmen 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
MehrVererbung. 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 &
MehrJava 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
MehrZugriffsrechte und Packages
Zugriffsrechte und Packages Allgemeine Informatik I Wintersemester 2013/14 Karsten Weihe Schnitt: Sascha Weiß Mit freundlicher Unterstützung des elc der TU Darmstadt Komplexer Typ Klasse Interface Standardbibliothek
MehrAbschnitt 12: Strukturierung von Java-Programmen: Packages
Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung
MehrProgrammieren 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:
MehrPrüfungszeuch im Fach Objektorientierte Programmierung WS 2000
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,
MehrEreignisverwaltung und Layout-Typen
Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Ereignisverwaltung
MehrKapitel 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,
Mehr6. Globalübung (zu Übungsblatt 8)
6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
MehrObjektorientierte 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
MehrObjekt-Orientierte Programmierung
Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt
MehrJava 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
MehrProgrammieren 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
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
Mehr