Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on va découvrir la notion d’interface en POO et son implémentation en python. 

Interface en POO

Comme une classe et une classe abstraite, une interface permet de définir un nouveau type (référence).

Définition 1 : 

Une interface est une forme particulière de classe où toutes les méthodes sont abstraites.

Définition 2 : 

Lorsqu’une classe implémente une interface, elle indique ainsi qu’elle s’engage à fournir une implémentation (c’est-à-dire un corps) pour chacune des méthodes abstraites de cette interface.

Règle  : 

Si une classe implémente plus d’une interface, elle doit implémenter toutes les méthodes abstraites de chacune des interfaces.

Exemple : 

interface en poo

Si l’on souhaite caractériser la fonctionnalité de comparaison qui est commune à tous les objets qui ont une relation d’ordre ( < , = , >), on peut définir l’interface Comparable.

Les classe Personne et Outils qui implémentent l’interface Comparable doivent présenter une implémentation de la méthode CompareTo() sinon elles seront abstraites.

Interface en python

On utilise l’exemple présenté ci-dessus :

from abc import abstractmethod
class Comparable:
@abstractmethod
def CompareTo():
pass
# les classes qui implémentent l'interface :
class Personne(Comparable):
def __init__(self,nom,age):
self.__nom=nom
self.__age=age
def CompareTo(self,p):
if self.__age==p.__age:
return True
else:
return False
class Outils(Comparable):
def __init__(self, long, prix):
self.__longueur=long
self.__prix=prix
def CompareTo(self,o):
if self.__longueur==o.__longueur:
return True
else:
return False
#objets
p1=Personne("n1",20)
p2=Personne("n2",20)
o1=Outils(60,450)
o2=Outils(60,450)
if (p1.CompareTo(p2)):
print("ont le meme age")
else:
print("ages différents")
if (o1.CompareTo(o2)):
print("meme longueur")
else:
print("longueurs différents")

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 *