3 Objekte wachen über ihre Daten

Eine Schwierigkeit bei der Programmierung komplexer Anwendungssoftware besteht darin, zu verhindern, dass Daten in einer nicht vorhergesehenen Art und Weise verändert werden.

Beispiel

Nehmen wir an, in einem neuen Szenario soll der Roboter robi eine zitronengelbe Farbe erhalten.

Jeder Roboter merkt sich seine Farbe mit Hilfe seines Attributs farbe. Als Attributtyp ist hierfür String vorgesehen. Um robi eine bestimmte Farbe zu geben, muss diesem Attribut daher ein entsprechender String, in unserem Beispiel "zitronengelb", zugewiesen werden.

JAVA

robi.farbe = "zitronengelb";

Abb. 3-1: Der String "zitronengelb" wird direkt dem Attribut farbe des Objekts robi zugewiesen.

Was passiert jedoch, falls der Programmierer der Klasse Roboter die Farbe Zitronengelb als möglichen Anstrich gar nicht vorgesehen hat? Erscheint der Roboter dann durchsichtig, erhält er eine bestimmte Standardfarbe oder stürzt das Programm gar ab?