Schnittstellen.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
DES-Simulator in JAVA, objektorientiert
Konzepte objektorientierter Systeme
Definition von Klassen in Java
Zusammenfassung des Kapitels 8
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Erweiterte Zuweisungskompatibilität
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Einführung in die OOP in Java
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Abstrakte Klassen DVG
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
12-Drucken Drucken in JAVA. 12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Vererbung
Informatikunterricht mit Java
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Klassendefinitionen in Java
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Abstrakte Klassen und das Interface-Konzept
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Die allgemeine Liste.
Objektorientiertes Modellieren und Programmieren mit Java
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Venusspiegel und Marsschild
Aufgaben zu Rückgabewerten
OOP II.
Der Abschluss einer Schlange
Die Klasse Geist.
Einführung in die Programmierung mit Java
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Die Klasse Vielfrass in Java
Klassen selbst programmieren
Felder in Java.
Ein schematischer Kirschbaum in Java
Allgemeine Befehle für die allgemeine Liste
Die Struktur einer Java-Klasse
Mit der Turtle Java Programmieren
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Raphael Fischer Informatik II - Übung 08 Raphael Fischer
Grundkurs Informatik mit Java
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Interfaces Definition von Interfaces Verwendung von Interfaces
1. Die rekursive Datenstruktur Liste 1
2. Die rekursive Datenstruktur Baum 2.3 Baum und Kompositum
 Präsentation transkript:

Schnittstellen

Bewegliche Graphikobjekte public interface Beweglich { /** * Verschiebe das Graphikobjekt um den Vektor (dx|dy) * * @param dx Die Verschiebung in x-Richtung. * @param dy Die Verschiebung in y-Richtung. */ void verschiebe (int dx, int dy); } Eine Schnittstelle verhält sich in Java ähnlich wie eine abstrakte Oberklasse. Alle Methoden sind automatisch public abstract. Jede Klasse kann nur eine direkte Oberklasse haben, aber zu beliebig vielen Schnittstellen gehören. Schnittstellen sind besonders sorgfältig zu kommentieren, damit fremde Programmierer ihre Funktionsweise sofort verstehen. Insbesondere sind auch die Parameter mit @param klar zu beschreiben, damit die automatische Dokumentation keine Fragen unbeantwortet lässt.

Implementierung der Schnittstelle public abstract class Person implements Beweglich { […] /** * Verschiebe die Person um den Vektor (dx|dy). */ public void verschiebe (int dx, int dy) haupthaar.verschiebeWaagrecht (dx); namensschild.verschiebeSenkrecht (dy); } Mit implements ordnet sich eine Klasse einer Schnittstelle unter. Die Klasse muss dann entweder selbst oder in ihren Unterklassen alle Methoden der Schnittstelle ausdrücklich ausprogrammieren („implementieren“).

Alternde Graphikobjekte public interface Alternd { /** * Lass das Graphikobjekt alt aussehen. */ void werdeAlt (); } public abstract class Person implements Beweglich, Alternd […] public void werdeAlt () macheUnsichtbar (); haupthaar.setzeFarbe ("grau"); langhaar.setzeFarbe ("grau"); macheSichtbar (); Eine Klasse kann mehrere Schnittstellen implementieren.

Stilwechselnde Graphikobjekte public interface Stilwechselnd { /** * Nimm festliche Gestalt an. */ void werdeFestlich (); * Nimm gewöhnliche Gestalt an. * * @param farbe Farbe, die das Graphikobjekt annehmen soll. void werdeGewoehnlich (String farbe); * Gib an, ob das Graphikobjekt festlich gestaltet ist. * @return True, wenn festlich gestaltet, sonst false. boolean istFestlich (); } Mit @return schreibt man Informationen zum Rückgabewert einer Methode in die automatische Dokumentation.

Stilwechselnde Männer public class Mann extends Person implements Stilwechselnd { [...] /** * Gib an, ob ich festlich gekleidet bin. Prüfe also, ob mein * Anzug und meine Schuhe schwarz sind und mein Hemd grau ist. * * @return True, wenn festlich gekleidet, sonst false. */ public boolean istFestlich () return jacket.gibFarbe ().equals ("schwarz") && hose.gibFarbe ().equals ("schwarz") && rock.gibFarbe ().equals ("grau") && schuh1.gibFarbe ().equals ("schwarz") && schuh2.gibFarbe ().equals ("schwarz"); } Eine Klasse kann sowohl Unterklasse sein als auch eine oder mehrere Schnittstellen implementieren.

Klassendiagramm Person Auto Baum Frau Mann Beweglich Stilwechselnd Alternd Person Auto Baum Frau Mann Vererbungspfeile zeichnen wir durchgehend, Schnittstellenimplementierungen gestrichelt. Das Diagramm zeigt, dass Klassen mehrere Schnittstellen implementieren können.