Tu l’auras compris, les attributs sont des variables contenant les caractéristiques des objets auxquelles ils sont liés. Ce que tu ne sais pas c’est qu’on peut ajouter ou changer une valeur d’attribut d’une instance à n’importe quel moment.

Il faut savoir qu’il existe deux types d’attributs:

– ceux contenus dans l’instance, appelé attributs 

– ceux contenus dans la classe, appelé attributs de classe

La différence est qu’un attribut de classe est propre à la classe et non pas à un objet en particulier. Cela signifie que la valeur de cet attribut ne changera pas en fonction d’un objet, ce qui ne veut pas dire qu’il s’agit forcément d’une constante.

Cet attribut sera contenu dans la classe et non dans l’objet. Pour l’appeler on fera appel à la classe suivie d’un point et du nom de l’attribut de classe en question.

 

Exemple

Lance-toi

Gardons l’exemple de notre classe « Personnage« . Tu pourrais ajouter un attribut de classe qui représenterait le nombre d’objets instanciés:

Astuce

Tu pourrais créer un attribut qui s’incrémenterait à chaque instanciation.

La fonction __init__ étant le constructeur, est appelée à chaque nouvel objet.

Solution