Das ATOS-Magazin 3/99
ATOS Programmierpraxis
Moderne Zeiten
Definition der Schnittstelle

# Polizei und Geheimhaltung

Schließlich liegt der dritte, hier ersichtliche Nachteil von GFA-Basic gegenüber objektorientierten Sprachen in der fehlenden Möglichkeit, die Funktionen als Schnittstellenfunktionen zu kennzeichnen. Der Benutzer eines Fußballspieler-Objektes hat theoretischen Zugriff auf alle Funktionen der `fussballspieler_`-Klasse, auch wenn sie längst nicht alle für ihn bestimmt sind. Viele davon wird der Konstrukteur des Fußballspieler-Objektes nur zur internen Benutzung eingeführt haben. Zu den extern aufrufbaren Funktionen sagt man oft auch public (öffentlich) und zu den internen private (privat).

Objektorientierte Compiler und Interpreter besitzen nun üblicherweise eine Polizei, die über die Privatspäre der Objekte wacht, und die Außenwelt von Zugriffe auf nicht-öffentliche Funktionen abhält.

Durch faceVALUE wurde eine praktische Notation für GFA-Basic eingeführt, die für die OT/OB-Lib übernommen wurde. Öffentliche Funktionen werden mit einem `!call`-Kommentar gekennzeichnet:

    FUNCTION fussballspieler_name$(ob#)                             !call
    FUNCTION fussballspieler_tor(ob#)                               !call
    FUNCTION fussballspieler_abwehr(ob#)                            !call
    FUNCTION fussballspieler_mitte(ob#)                             !call
    FUNCTION fussballspieler_sturm(ob#)                             !call

Auf diese Weise sieht der Programmierer nun, was er darf und was er eigentlich lassen sollte.

Die Operationen