Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on va découvrir l’abstraction en POO et son implémentation en python.
Pour comprendre le principe d’abstraction : son utilité et comment il fonctionne, suivez l’exemple ci-dessous :
Supposons, on a :
1- une classe Vehicule avec les attributs : code, prix, marque, couleur, capacité et la méthode AfficherInfos().
2- On crée deux classes filles de cette classe qui sont :
Supposons qu’on exige de ne jamais avoir des objets de la classe Vehicule. Autrement dit, cette classe est créée pour devenir une mère des classes Vélo et Moto en imposant qu’elle ne sera jamais instanciée. Alors, on dit que cette classe doit être une classe abstraite.
Définition 1 :
Une classe est dite abstraite, si elle ne peut être instanciée. Une classe est abstraite si elle a au moins une méthode abstraite .
Définition 2 :
Une méthode abstraite est une méthode qui n’a pas de corps (traitement) ,on définit juste la signature (le prototype de la méthode).
Chaque classe fille doit redéfinir la méthode abstraite.
from abc import ABC,abstractmethod #Abstract Base Classes
#classe abstraite
class Vehicule(ABC):
@abstractmethod
def printInfos(self):
pass
def Aug_vitesse(self,x):
self.vitesse+=x
class Moto(Vehicule):
def __init__(self,v):
self.vitesse=v
def printInfos(self):
print("I'm a Moto with vitesse:",self.vitesse)
V=Moto(20)
V.printInfos()
V.Aug_vitesse(10)
V.printInfos()
#ve=Vehicule()
Pour créer une classe abstraite en python, elle doit héritée de la classe ABC du module abc. Aussi, la classe abstraite doit contenir au moins une méthode abstraite (sans corps).
Et voilà! c’est tout
Vous pouvez suivre notre liste des vidéos sur la programmation orientée objet sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : POO en Python
Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments de base de la programmation ; vus dans notre cours d’algorithmique).