python oops concepts python classes
Concepts de POO en Python: classes et objets Python, héritage, surcharge, remplacement et masquage de données
Dans le didacticiel précédent, certains des Opérations d'entrée / sortie que Python fournit.
Nous avons appris à utiliser ces fonctions pour lire les données de l'utilisateur ou à partir de sources externes et aussi comment écrire ces données dans des sources externes. Nous avons également appris à diviser un énorme code en méthodes plus petites à l'aide de fonctions et à les appeler ou à y accéder.
Lectures complémentaires => Gamme explicite de didacticiels de formation Python gratuits
Dans ce didacticiel, nous discuterons du concept Python avancé appelé POO et des différents types de concepts Oops disponibles en Python et comment et où les utiliser.
Ce que vous apprendrez:
- Regardez les didacticiels vidéo
- Classes et objets
- Constructeur en Python
- Héritage
- Surcharge de méthode en Python
- Remplacement de méthode en Python
- Masquage des données en Python
- Conclusion
- lecture recommandée
Regardez les didacticiels vidéo
Vidéo n ° 1: Classe, objets et constructeur en Python
Vidéo n ° 2: Concept d'héritage en Python
Vidéo n ° 3: Surcharge, remplacement et masquage des données en Python
Classes et objets
- Python est un langage de programmation orienté objet où la programmation met davantage l'accent sur les objets.
- Presque tout en Python est des objets.
Des classes
La classe en Python est une collection d'objets, nous pouvons considérer une classe comme un plan ou un croquis ou un prototype. Il contient tous les détails d'un objet.
Dans l'exemple du monde réel, Animal est une classe, car nous avons différents types d'animaux dans le monde et tous appartiennent à une classe appelée Animal.
Définir une classe
En Python, nous devrions définir une classe en utilisant le mot-clé «classe».
Syntaxe:
class classname: #Collection of statements or functions or classes
Exemple:
class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum)
Dans l'exemple ci-dessus, nous avons déclaré la classe appelée «Myclass» et nous avons déclaré et défini certaines variables et fonctions respectivement.
Pour accéder à ces fonctions ou variables présentes à l'intérieur de la classe, nous pouvons utiliser le nom de la classe en créant un objet de celle-ci.
Voyons d'abord comment accéder à ceux qui utilisent le nom de la classe.
Exemple:
class MyClass: a = 10 b = 20 #Accessing variable present inside MyClass print(MyClass.a)
Production
dix
Production:
Objets
Un objet est généralement une instance d'une classe. Il est utilisé pour accéder à tout ce qui est présent à l'intérieur de la classe.
Créer un objet
Syntaxe:
variablename = classname
Exemple:
ob = MyClass()
Cela créera un nouvel objet d'instance nommé «ob». En utilisant ce nom d'objet, nous pouvons accéder à tous les attributs présents dans la classe MyClass.
Exemple:
class MyClass: a = 10 b = 20 def add(self): sum = self.a + self.b print(sum) #Creating an object of class MyClass ob = MyClass() #Accessing function and variables present inside MyClass using the object print(ob.a) print(ob.b) ob.add()
Production:
dix
vingt
30
Production:
Constructeur en Python
Le constructeur en Python est une méthode spéciale qui est utilisée pour initialiser les membres d'une classe pendant l'exécution lorsqu'un objet est créé.
En Python, nous avons des méthodes de classe intégrées spéciales qui commencent par un double trait de soulignement (__) et qui ont une signification particulière en Python.
Le nom du constructeur sera toujours __init __ ().
Chaque classe doit avoir un constructeur, même si vous ne créez pas un constructeur explicitement, il créera un constructeur par défaut par lui-même.
Exemple:
class MyClass: sum = 0 def __init__ (self, a, b): self.sum = a+b def printSum(self): print(“Sum of a and b is: ”, self.sum) #Creating an object of class MyClass ob = MyClass(12, 15) ob.printSum()
Production:
La somme de a et b est: 27
Production:
Si nous observons dans l'exemple ci-dessus, nous n'appelons pas la méthode __init __ (), car elle sera appelée automatiquement lorsque nous créerons un objet dans cette classe et initialiserons les données membres le cas échéant.
antivirus avec VPN illimité
Rappelez-vous toujours qu'un constructeur ne retournera jamais aucune valeur, donc il ne contient aucune instruction de retour.
Héritage
L'héritage est l'un des concepts les plus puissants des POO.
Une classe qui hérite des propriétés d'une autre classe est appelée héritage.
La classe qui hérite des propriétés est appelée classe / sous-classe enfant et la classe dont les propriétés sont héritées est appelée classe parent / classe de base.
Python fournit trois types d'héritage:
- Héritage unique
- Héritage à plusieurs niveaux
- Héritage multiple
Lecture recommandée = >> Héritage en Java
# 1) Héritage unique
Dans l'héritage simple, une classe héritera des propriétés d'une seule classe.
Exemple:
class Operations: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: “, sum) class MyClass(Operations): c = 50 d = 10 def sub(self): sub = self.c – self.d print(“Subtraction of c and d is: ”, sub) ob = MyClass() ob.add() ob.sub()
Production:
La somme de a et b est: 30
La soustraction de c et d est: 40
Production:
Dans l'exemple ci-dessus, nous héritons des propriétés de la classe 'Operations' dans la classe 'MyClass'.
Par conséquent, nous pouvons accéder à toutes les méthodes ou instructions présentes dans la classe ‘Operations’ en utilisant les objets MyClass.
# 2) Héritage à plusieurs niveaux
Dans l'héritage à plusieurs niveaux, une ou plusieurs classes agissent comme une classe de base.
Ce qui signifie que la deuxième classe héritera des propriétés de la première classe et la troisième classe héritera des propriétés de la deuxième classe. Ainsi, la deuxième classe agira à la fois comme classe Parent et comme classe Enfant.
Exemple:
class Addition: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: ”, sum) class Subtraction(Addition): def sub(self): sub = self.b-self.a print(“Subtraction of a and b is: ”, sub) class Multiplication(Subtraction): def mul(self): multi = self.a * self.b print(“Multiplication of a and b is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul()
Production:
La somme de a et b est: 30
La soustraction de a et b est: 10
La multiplication de a et b est: 200
Production:
Dans l'exemple ci-dessus, la classe «Soustraction» hérite des propriétés de la classe «Addition» et la classe «Multiplication» hérite des propriétés de la classe «Soustraction». Ainsi, la classe «Soustraction» agira à la fois comme classe de base et comme classe dérivée.
# 3) Héritage multiple
La classe qui hérite des propriétés de plusieurs classes est appelée héritage multiple.
Lectures complémentaires = >> Java prend-il en charge l'héritage multiple?
Exemple:
class Addition: a = 10 b = 20 def add(self): sum = self. a+ self.b print(“Sum of a and b is: “, sum) class Subtraction(): c = 50 d = 10 def sub(self): sub = self.c-self.d print(“Subtraction of c and d is: ”, sub) class Multiplication(Addition,Subtraction): def mul(self): multi = self.a * self.c print(“Multiplication of a and c is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul()
Production:
La somme de a et b est: 30
La soustraction de c et d est: 10
La multiplication de a et c est: 500
Production:
Surcharge de méthode en Python
Plusieurs méthodes portant le même nom mais avec un type de paramètre différent ou un nombre différent de paramètres est appelée surcharge de méthode
Exemple:
comment convertir un caractère en chaîne c ++
def product(a, b): p = a*b print(p) def product(a, b, c): p = a*b*c print(p) #Gives you an error saying one more argument is missing as it updated to the second function #product(2, 3) product(2, 3, 5)
Production:
30
Production:
Production:
La surcharge de méthode n'est pas prise en charge en Python, car si nous voyons dans l'exemple ci-dessus, nous avons défini deux fonctions avec le même nom «produit» mais avec un nombre de paramètres différent.
Mais en Python, le dernier défini sera mis à jour, d'où la fonction product (a, b) deviendra inutile.
Remplacement de méthode en Python
Si une méthode de sous-classe a le même nom que celui déclaré dans la méthode de superclasse, elle est appelée Remplacement de méthode
Pour obtenir le remplacement de méthode, nous devons utiliser l'héritage.
Exemple:
class A: def sayHi(): print(“I am in A”) class B(A): def sayHi(): print(“I am in B”) ob = B() ob.sayHi()
Production:
Je suis en B
Production:
Masquage des données en Python
Le masquage des données signifie rendre les données privées afin qu'elles ne soient pas accessibles aux autres membres de la classe. Il n'est accessible que dans la classe où il est déclaré.
En python, si nous voulons masquer la variable, nous devons écrire un double trait de soulignement (__) avant le nom de la variable.
Exemple:
Class MyClass: __num = 10 def add(self, a): sum = self.__num + a print(sum) ob = MyClass() ob.add(20) print(ob.__num) #The above statement gives an error because we are trying to access private variable outside the class
Production:
30
Traceback (dernier appel le plus récent):
Fichier 'DataHiding.py', ligne 10, dans
imprimer (si dû .__)
AttributeError: l'instance MyClass a
aucun attribut «__num
Production:
Conclusion
La classe est un plan ou un modèle qui contient tous les détails d'un objet, où l'objet est une instance d'une classe.
- Si nous voulons obtenir les propriétés d'une autre classe dans une classe, cela peut être réalisé par héritage.
- L'héritage est de 3 types: l'héritage unique, l'héritage à plusieurs niveaux et l'héritage multiple.
- La surcharge de méthode n'est pas prise en charge dans Python.
- Le remplacement de méthode est utilisé pour remplacer l'implémentation de la même fonction qui est définie dans une autre classe.
- Nous pouvons rendre les attributs de données privés ou les masquer afin qu'ils ne soient pas accessibles en dehors de la classe où ils sont définis.
Notre prochain tutoriel vous expliquera plus en détail les concepts supplémentaires de Python !!
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Variables Python
- Tutoriel Python DateTime avec des exemples
- Fonctions de chaîne Python
- Tutoriel Python pour les débutants (formation pratique gratuite sur Python)
- Instructions de contrôle Python (Python Continue, Break et Pass)
- Opérateurs Python
- Fonctions Python
- Processus d'introduction et d'installation de Python