constructeur

Python

Anglais : constructor

Le constructeur d'une classe est une fonction déclarée dans une classe (méthode de l'objet classe) qui a pour nom __init__ (Python autorise la surcharge - overloading ; une classe peut posséder plusieurs fonctions __init__ et donc plusieurs constructeurs - A Python, de résoudre l’ambiguïté).

class Complex () : # introduit une classe (un objet classe) de nom Complex et au sein de cette classe un constructeur. Notez les parenthèses (cf héritage)

def __init__(self, partieReelle, partieImaginaire) :

self.r = partieReelle

self.i = partieImaginaire

La fonction __init __ comporte 3 paramètres :

  • le premier (que l'on a l'habitude d’appeler self, c'est une convention, mais l'important est que c'est le premier paramètre de la fonction __init___) désigne l'objet instance que l'on crée. L'effet de l'exécution de la fonction __int__ est de créer cette instance et d'initialiser les deux variables d'instances r et i (c'est du Python, nulle part, on ne déclare r et i et on ne dit si ce sont des entiers ou des réels) ;
  • les deux autres paramètres fournissent les valeurs initiales des parties réelles et imaginaire du nombre Complexe

On n’appelle pas directement la fonction __init__. En écrivant,

c = Complex (2.0, 3.7)

c2 = Complex (0.0, 3.0)

on affecte à la variable c, une instance de la classe Complex, créée par exécution de la fonction __init__. Seuls les 2 derniers paramètres (2.0 pour partieReelle et 3.7 pour partie Imaginaire) apparaissent.

Jargon python

Complex est un objet classe

c a pour valeur un objet instance.

r et i sont des attributs d'instance, qui existent en autant d'exemplaires qu'il y a d'instances

» Glossaire du langage python