Python se comporte comme un objet langage de programmation orienté entièrement fonctionnelle (POO ) . Afin d' exploiter la puissance de la POO , les programmeurs doivent comprendre des concepts tels que les classes et l'héritage. Utilisation de l'héritage signifie construire les classes qui utilisent la fonctionnalité des classes plus basiques comme une fondation. Cette pratique inclut également la possibilité pour les classes de redéfinir les méthodes anciennes classes pour des utilisations spécifiques . Classes en Python
classes fonctionnent comme des modèles pour les objets , la définition de ce qu'ils font et comment ils travaillent avec d'autres objets . Typiquement, une déclaration de classe ressemble à cet exemple :
classe
MyClass :
//définition de classe
La définition de la classe est l'endroit où le programmeur expose quelles actions un objet peut faire, et quelles sont les informations qu'elle détient. Une méthode de base pour une classe est la méthode "init" , qui dicte ce qui arrive quand un objet de la classe est créée :
def __ init__ ( self):
self.x = 1
self.y = 2
Cette méthode en classe MyClass veillera à ce que chaque objet MyClass a une valeur x et y, égale à 1 et 2, respectivement .
< br > Classes dérivées
Certaines classes se partageront une fonctionnalité similaire avec d'autres classes , mais étendre cette fonctionnalité. Par exemple, prendre une classe " Ball" qui peut représenter un ballon de football ( dans le code) . Supposons aussi qu'il existe un "Sphere" classe qui représente une sphère simple et contient le rayon ( r) et une méthode pour calculer la surface ( Sarea ()). Dans ce cas, la seule différence entre les deux est que la classe " Ball" a besoin de données supplémentaires pour enregistrer la couleur . Par conséquent, au lieu de réécrire le code de "Sphere" en " boule ", le programmeur vient juste boule de Sphère:
boule de classe
( Sphere ) :
Maintenant, boule classe peut accéder à n'importe quelle méthode ou les données de la sphère de la classe ( r , Sarea ()), et l'utiliser pour lui-même) .
la substitution de méthodes de base
Le programmeur puis voudront peut-être s'assurer que chaque boule a une couleur de départ aux côtés de son rayon. Fonction "init" de la classe Sphere ressemble à ceci:
def __ init__ ( self):
self.r = 5
Ainsi, chaque objet Sphere a un rayon de défaut de 5 . Boule de classe peuvent substituer cette méthode en définissant dans sa propre classe. Donc méthode "init" de la balle pourrait ressembler à ceci :
def __ init__ ( self):
self.color = Bordeaux rouge
Alors maintenant, la couleur par défaut de la boule sera rouge .
Redéfinition et utilisation d'une méthode de base
Mais parce que "init" l'emporte de boule de la classe de base "init ", la classe de base "init" exécute jamais . Cela est nécessaire . En Python, la méthode de substitution peut appeler la méthode , il est prépondérant que pair de son exécution :
def __ init__ ( self):
Sphere.__init__ (auto )
auto . color = red
Cela garantit que l'initialisation de base se produit, cette boule a un rayon et une couleur.