Benutzer-Werkzeuge

Webseiten-Werkzeuge


misc:oop_3

OOP Basics Teil 3

Probleme komplexerer Klassen

Mehr Zustandsvariabeln, mehr Methoden und vielleicht auch mehrere Klassen. Das Problem komplexerer Klassen ist ihre Übersicht. Zu diesem Zweck müssen Klassen eine sehr gute Dokumentation haben. Benutzer suchen in diesem Fall nach einer sogenannten „API“ (Application Programming Interface). Diese geht nicht auf den Quelltext einer Klasse ein, sondern beschreibt nur die Methoden, die die Klasse für den Programmierer anbietet.

API der Klasse fernseher

//API der Klasse fernseher
/*
 * Diese Klasse simuliert die Steuerung für einen Fernseher
 * Version: 1.0
 * Datum: 01.09.2006
 * Author: Benjamin Eckstein
 */
class fernseher
{
 
   /*
    * diese Funktion schaltet den Fernseher an.
    */
   function einschalten();
 
   /*
    * diese Funktion schaltet den Fernseher aus.
    */
   function ausschalten();
 
   /*
    * Diese Funktion zeigt an, ob der Fernseher eingeschaltet ist.
    * Rückgabewerte "ja" oder "nein"
    */
   function is_eingeschaltet();
 
   /*
    * Diese Funktion aendert das aktuelle Programm des Fernsehers
    * Der Parameter $nr (Integer) soll das aktuelle Programm werden.
    */
   function programmWechseln($nr);
 
   /*
    * Diese Funktion gibt das aktuelle Programm aus
    * Der Rückgabewert ist ein Integer (Ganzzahlige Zahl)
    */
   function aktuellesProgramm();
}

Es gibt keine Allgemeinen Regeln für eine API und wie so eine API aussehen soll. Dies variiert von Sprache zu Sprache und hängt auch davon ab, ob man ein Programm benutzt, das anhand der Kommentare eine API erzeugt (z.B. Java unterstützt so ein Programm). Jedoch sollte immer klar sein, wie eine Funktion heisst, was eine Funktion macht, was eine Funktion für Parameter erwartet und was eine Funktion wiedergibt.

Da die beiden Zustände aktuellesProgramm und eingeschaltet nicht mehr für den Programmierer zur Verfügung stehen, werden sie auch in der API nicht mehr aufgelistet. Stattdessen wird der Programmierer gezwungen mithilfer der Methoden aktuellesProgramm() und is_eingeschaltet() die Zustände abzufragen. Womit wir unser nächstes Kapitel einleiten.

misc/oop_3.txt · Zuletzt geändert: 2011/12/31 01:08 von ben