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. 

Abstraction en POO

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 :

  • La classe Moto avec les attributs spécifiques vitesse, modele (plus les autres attributs hérités de la classe Vehicule) et les méthodes : AfficherInfos() , Accelerer(), Arreter(), AfficherModele().
  • La classe Vélo qui a simplement les éléments (méthode et attributs ) hérités.

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.

Abstraction en python

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).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *