Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Schnittstellen.

Ähnliche Präsentationen


Präsentation zum Thema: "Schnittstellen."—  Präsentation transkript:

1 Schnittstellen

2 Bewegliche Graphikobjekte
public interface Beweglich { /** * Verschiebe das Graphikobjekt um den Vektor (dx|dy) * dx Die Verschiebung in x-Richtung. 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 klar zu beschreiben, damit die automatische Dokumentation keine Fragen unbeantwortet lässt.

3 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“).

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

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

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

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


Herunterladen ppt "Schnittstellen."

Ähnliche Präsentationen


Google-Anzeigen