Ein Objekt speichert seinen Zustand in Variablen zu den Attributen, die in der Klassendefinition beschrieben sind. Die Methoden und Attribute von Objekten, die zur selben Klasse gehören, sind alle gleich. Sie können sich aber in ihren Attributwerten unterscheiden.
Wenn ein Objekt zu einer Klasse erzeugt [instanziiert] wird, werden zu allen Attributen neue Variable angelegt, die an genau dieses eine Objekt gebunden sind. Selbst wenn diese Variable beispielsweise durch den Konstruktor zunächst mit gleichen Anfangswerten initialisiert worden sind, können sich die Attributwerte verschiedener Objekte während der Laufzeit des Programms durch den Aufruf verändernder Methoden unterscheiden.
class Zaehler (object) : '''Klasse fuer einen einfachen Zaehler''' def __init__(self) : '''Konstruktor fuer Objekte vom Typ Zaehler''' self.__stand = 0 # int def Zaehle (self) : '''zaehlt den Zaehler jeweils um 1 weiter''' self.__stand += 1 def GibStand (self) : '''zeigt den Stand des Zaehlers an''' return self.__stand
Der Konstruktor der Klasse Zaehler gibt das Attribut self.__stand mit dem Attributwert 0 für alle erzeugten Objekte vor.
Die Werte von self.__stand verschiedener Objekte können aber durch die verändernde-Methode Zaehle() verändert werden.
© Claus Albowski