Programmation orientée objet intermédiaire en Python
Jake Roach
Data Engineer
Les classes de base abstraites servent de plan pour les classes en définissant des méthodes abstraites à implémenter par tous les enfants
@abstractmethodclass School:
# Effectuer des actions comme inscrire
# et ajouter un cours
class MiddleSchool:
# Jouer d'un instrument, joindre un club
# mais doit inscrire et ajouter des cours
class HighSchool:
# Faire un sport interscolaire, postuler
# au cégep/université, mais doit inscrire
# et ajouter des cours
from abc import ABC, abstractmethod# Créer une classe de base abstraite qui hérite # de ABC class School(ABC): @abstractmethod def enroll(self): # Cette méthode doit être implémentée # dans les classes qui en héritent pass# Les méthodes concrètes sont héritées def graduate(self): print("Congrats on graduating!")
ABC du module abcpassSchool doit implémenter la méthode enroll()class HighSchool(School):
def enroll(self):
print("Welcome to high school!")
# Créer une instance de HighSchool
high_school = HighSchool()
high_school.enroll()
Welcome to high school!
high_school.graduate()
Congrats on graduating!
HighSchool doit définir une méthode enroll()TypeError si enroll() n'est pas définieHighSchool hérite de la méthode graduate()class School(ABC):
@abstractmethod
def enroll(self):
pass
@abstractmethod
def add_course(self, course_name):
pass
def graduate(self):
print("Congrats on graduating!")
enroll() et add_course()class HighSchool(School):
def __init__(self):
self.courses = []
# Implémentation de la méthode abstraite
def enroll(self):
print("Welcome to high school!")
# Implémentation de la méthode abstraite
def add_course(self, course_name):
self.courses.append(course_name)
print(f"You enrolled in {course_name}")
Programmation orientée objet intermédiaire en Python