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