Python OOPs :classe, objet, héritage et constructeur avec exemple
OOP en Python
OOP en Python est une approche de programmation qui se concentre sur l'utilisation d'objets et de classes comme les autres langages de programmation généraux. Les objets peuvent être n'importe quelle entité du monde réel. Python permet aux développeurs de développer des applications en utilisant l'approche OOP en mettant l'accent sur la réutilisation du code. Il est très facile de créer des classes et des objets en Python.
Qu'est-ce qu'une classe ?
Une classe en Python est un regroupement logique de données et de fonctions. Il donne la liberté de créer des structures de données contenant du contenu arbitraire et donc facilement accessibles.
Par exemple, pour tout employé de banque qui souhaite récupérer les détails du client en ligne, il ira dans la classe de client , où tous ses attributs tels que les détails de la transaction, les détails de retrait et de dépôt, l'encours de la dette, etc. seraient répertoriés.
Dans ce tutoriel, nous allons apprendre,
- Comment définir les classes Python
- Comment fonctionne l'héritage
- Constructeurs Python
Comment définir les classes Python
Pour définir la classe, vous devez considérer les points suivants
Étape 1) En Python, les classes sont définies par la "Classe" mot-clé
class myClass():
Étape 2) À l'intérieur des classes, vous pouvez définir des fonctions ou des méthodes qui font partie de cette classe
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Ici, nous avons défini la méthode 1 qui affiche "Guru99".
- Une autre méthode que nous avons définie est method2 qui imprime "Software Testing" + SomeString. SomeString est la variable fournie par la méthode appelante
Étape 3) Tout dans une classe est indenté, tout comme le code dans la fonction, la boucle, l'instruction if, etc. Tout ce qui n'est pas indenté n'est pas dans la classe
REMARQUE :À propos de l'utilisation de "self" en Python
- L'auto-argument fait référence à l'objet lui-même. D'où l'utilisation du mot soi. Ainsi, à l'intérieur de cette méthode, self fera référence à l'instance spécifique de cet objet sur lequel l'opération est effectuée.
- Self est le nom préféré par convention par Pythons pour indiquer le premier paramètre des méthodes d'instance en Python. Cela fait partie de la syntaxe Python pour accéder aux membres des objets
Étape 4) Faire un objet de la classe
c = myClass()
Étape 5) Pour appeler une méthode dans une classe
c.method1() c.method2(" Testing is fun")
- Remarquez que lorsque nous appelons method1 ou method2, nous n'avons pas à fournir le mot-clé. Cela est automatiquement géré pour nous par le runtime Python.
- Le runtime Python transmettra la valeur "self" lorsque vous appelez une méthode d'instance sur in instance, que vous la fournissiez délibérément ou non
- Vous devez juste vous soucier des arguments non personnels
Étape 6) Voici le code complet
# Example file for working with classes class myClass(): def method1(self): print("Guru99") def method2(self,someString): print("Software Testing:" + someString) def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main()
Fonctionnement de l'héritage
L'héritage est une fonctionnalité utilisée dans la programmation orientée objet; il fait référence à la définition d'une nouvelle classe avec moins ou pas de modification d'une classe existante. La nouvelle classe est appelée classe dérivée et de celui dont il hérite s'appelle la base . Python prend en charge l'héritage; il prend également en charge les héritages multiples . Une classe peut hériter des attributs et des méthodes de comportement d'une autre classe appelée sous-classe ou classe héritière.
Syntaxe d'héritage Python
class DerivedClass(BaseClass): body_of_derived_class
Étape 1) Exécutez le code suivant
# Example file for working with classes class myClass(): def method1(self): print("Guru99") class childClass(myClass): #def method1(self): #myClass.method1(self); #print ("childClass Method1") def method2(self): print("childClass method2") def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
Notez que dans childClass, method1 n'est pas défini mais qu'il est dérivé du parent myClass. Le résultat est "Guru99".
Étape 2) Décommentez les lignes 8 et 10. Exécutez le code
Maintenant, la méthode 1 est définie dans la childClass et la sortie "childClass Method1" est correctement affichée.
Étape 3) Décommentez la ligne #9. Exécutez le code
Vous pouvez appeler une méthode de la classe parent en utilisant la syntaxe
ParentClassName.MethodName(self)
Dans notre cas, nous appelons myClass.method1(self) et Guru99 est imprimé comme prévu
Étape 4 ) Décommentez la ligne #19. Exécutez le code.
La méthode 2 de la classe enfant est appelée et "childClass method2" est affiché comme prévu.
Constructeurs Python
Un constructeur est une fonction de classe qui instancie un objet à des valeurs prédéfinies.
Il commence par un double trait de soulignement (_). C'est la méthode __init__()
Dans l'exemple ci-dessous, nous prenons le nom de l'utilisateur utilisant le constructeur.
class User: name = "" def __init__(self, name): self.name = name def sayHello(self): print("Welcome to Guru99, " + self.name) User1 = User("Alex") User1.sayHello()
La sortie sera :
Bienvenue sur Guru99, Alex
Exemple Python 2
Les codes ci-dessus sont des exemples Python 3, si vous voulez exécuter en Python 2, veuillez considérer le code suivant.
# How to define Python classes # Example file for working with classes class myClass(): def method1(self): print "Guru99" def method2(self,someString): print "Software Testing:" + someString def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main() #How Inheritance works # Example file for working with classes class myClass(): def method1(self): print "Guru99" class childClass(myClass): #def method1(self): #myClass.method1(self); #print "childClass Method1" def method2(self): print "childClass method2" def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
Résumé :
« Classe » est un regroupement logique de fonctions et de données. La classe Python fournit toutes les fonctionnalités standard de la programmation orientée objet.
- Mécanisme d'héritage de classe
- Une classe dérivée qui remplace toute méthode de sa classe de base
- Une méthode peut appeler la méthode d'une classe de base portant le même nom
- Les classes Python sont définies par le mot-clé "class" lui-même
- Dans les classes, vous pouvez définir des fonctions ou des méthodes qui font partie de la classe
- Tout dans une classe est indenté, tout comme le code dans la fonction, la boucle, l'instruction if, etc.
- L'argument self en Python fait référence à l'objet lui-même. Self est le nom préféré par convention par Pythons pour indiquer le premier paramètre des méthodes d'instance en Python
- L'environnement d'exécution Python transmet automatiquement la valeur "self" lorsque vous appelez une méthode d'instance sur in instance, que vous la fournissiez délibérément ou non
- En Python, une classe peut hériter des attributs et des méthodes de comportement d'une autre classe appelée sous-classe ou classe héritière.
Python
- Classe et objet C#
- Programmation orientée objet Python
- Héritage Python
- Créer des robots avec Raspberry Pi et Python
- Différence entre structure et classe :expliquée avec un exemple C++
- Python String strip() Fonction avec EXAMPLE
- Compteur Python dans les collections avec exemple
- type() et isinstance() en Python avec des exemples
- Index de liste Python () avec exemple