Schnittstelle und Implementierung
Schnittstelle
und Implementierung
Bei
der Verwendung von Klassen muss der Anwender, in diesem Fall ist das
der Programmierer, nur die Definition der Attribute und die
Methodenköpfe kennen, um damit umgehen zu können. Die Angaben aus
der folgenden Abbild sind vollkommen ausreichen für den
Programmierer um zu sehen, welche Attribute (Eigenschaften) und
Methoden verfügbar sind und wie die Methoden vom Benutzer aufgerufen
werden können. Man nennt dies Angaben auch Schnittstellen weil,
diese dem Programmierer Zugriff auf alle Eigenschaften und
Fähigkeiten (Methoden) der Klasse ermöglicht.
Beispiel
mit Brüche:
private
int zaehlern1;
private
int nennern1;
private
int zaehlern2;
private
int nennern2;
setZaehler1()
getNenner1()
setNenner1()
getZaehler2()
setZaehler2()
getNenner2()
setNenner2()
addiereBruch()
addiere(double eingabex1, double eingabey1, double eingabex2, double eingabey2)
subtrahiereBruch()
subtrahiere(double eingabex1, double eingabey1, double eingabex2, double eingabey2)
multipliziereBruch()
multipliziere(double eingabex1, double eingabey1, double eingabex2, double eingabey2)
dividiereBruch()
dividiere(double eingabex1, double eingabey1, double eingabex2, double eingabey2)
kontrolle(int z, int n, String i)
menue()
plus()
minus()
mal()
geteilt()
programmEnde()
Man
nennt die Programmierung auch Implementierung. Wir erkennen daran,
dass der Benutzer einer Klasse nicht wissen muss, wie die Methoden
(Fähigkeiten) programmiert worden sind. Es muss nur die zu
erwartenden Eingaben tätigen. Für den Benutzer ist es unwichtig wie
die Methoden ausgeben(), kuerzen() etc.. programmiert wurden sind.
Natürlich ist nur das Ergebnis für den Benutzer wichtig. Dafür
muss der Benutzer eine Reelle Eingabe tätigen, denn dafür wird er
eine reelle Ausgabe bekommen falls der Syntax und die Semantik des
Programms mit der Planung übereinstimmt. Deshalb sind die
Implementierungen der Methoden für den Benutzer nicht relevant. Die
Tatsache, dass die Implementierung unwesentlich für die Anwendung
ist und die Kenntnisse der Schnittstelle vollkommen ausreicht,
erleichtert die Verwendung fremder Programmteile ungemein. Diese
einfache Wiederverwendbarkeit von Programmteilen, also Klassen, wird
sich vor allem beim Erstellen grafischer Benutzeroberflächen
deutlich zeigen.
Als
Einführungsbeispiel habe ich die Obige Tabelle als Programm auf
GitHub hochgeladen welches ihr hier kostenlos als Quelldatei
laden und in eurer Entwicklungsumgebung kompilieren könnt.
Kommentare
Kommentar veröffentlichen