POO Python: classe, objet, héritage et constructeur avec exemple

Table des matières:

Anonim

POO en Python

La POO 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 POO avec un accent majeur sur la réutilisabilité 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 un 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 à 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, la dette impayée, etc. seraient répertoriés.

Dans ce tutoriel, nous allons apprendre,

  • Comment définir des classes Python
  • Comment fonctionne l'héritage
  • Constructeurs Python

Comment définir des classes Python

Pour définir la classe, vous devez tenir compte des points suivants

Étape 1) En Python, les classes sont définies par le mot-clé "Class"

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 imprime «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 de la fonction, de la boucle, de 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 se réfère à l'objet lui-même. D'où l'utilisation du mot soi. Donc, à l'intérieur de cette méthode, self fera référence à l'instance spécifique de cet objet qui est en cours d'opération.
  • 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) Pour créer un objet de la classe

c = myClass()

Étape 5) Pour appeler une méthode dans une classe

c.method1()c.method2(" Testing is fun")
  • Notez que lorsque nous appelons la méthode1 ou la méthode2, nous n'avons pas à fournir le mot-clé self. 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 dans l'instance, que vous la fournissiez délibérément ou non
  • Vous devez juste vous soucier des arguments de non-soi

Étape 6) Voici le code complet

# Fichier d'exemple pour travailler avec les classesclasse maClasse ():def method1 (soi):imprimer ("Guru99")def method2 (self, someString):print ("Test du logiciel: + someString)def main ():# exercez les méthodes de classec = maClasse ()c.method1 ()c.method2 ("Tester est amusant")si __name __ == "__main__":principale()

Comment fonctionne l'héritage

L'héritage est une fonctionnalité utilisée dans la programmation orientée objet; il se réfère à la définition d'une nouvelle classe avec moins ou aucune modification à une classe existante. La nouvelle classe est appelée classe dérivée et de celle dont elle hérite est appelée la base . Python prend en charge l'héritage; il prend également en charge plusieurs héritages . 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

# Fichier d'exemple pour travailler avec les classesclasse maClasse ():def method1 (soi):imprimer ("Guru99")classe childClass (myClass):#def method1 (auto):# myClass.method1 (soi);#print ("méthode childClass1")def method2 (auto):print ("méthode childClass2")def main ():# exercez les méthodes de classec2 = classe enfant ()c2.method1 ()# c2.method2 ()si __name __ == "__main__":principale()

Notez que dans childClass, method1 n'est pas défini mais 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 childClass et la sortie "childClass Method1" est correctement affichée.

Étape 3) Décommentez la ligne n ° 9. Exécutez le code

Vous pouvez appeler une méthode de la classe parente 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 n ° 19. Exécutez le code.

La méthode 2 de la classe enfant est appelée et "childClass method2" est imprimé 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 (_). Méthode It __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 = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()

La sortie sera:

Bienvenue à Guru99, Alex

Exemple Python 2

Les codes ci-dessus sont des exemples Python 3.Si vous souhaitez exécuter Python 2, veuillez considérer le code suivant.

# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass 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 methodsc2 = 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 avec le même nom
  • Les classes Python sont définies par le mot-clé "classe" lui-même
  • À l'intérieur des 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 de la fonction, de la boucle, de 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
  • Le runtime Python transmettra automatiquement la valeur "self" lorsque vous appelez une méthode d'instance dans l'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.