Programmazione a oggetti intermedia in Python
Jake Roach
Data Engineer
Le classi astratte di base definiscono un modello per le classi, con metodi astratti da implementare in tutte le sottoclassi
@abstractmethodclass School:
# Azioni come iscrivere
# e aggiungere un corso
class MiddleSchool:
# Suonare uno strumento, unirsi a un club
# ma deve iscrivere e aggiungere corsi
class HighSchool:
# Fare sport scolastici, fare domanda
# per il college, ma deve iscrivere
# e aggiungere corsi
from abc import ABC, abstractmethod# Crea una classe astratta di base che eredita # da ABC class School(ABC): @abstractmethod def enroll(self): # Questo metodo deve essere implementato # nelle classi che ereditano pass# I metodi concreti sono ereditati def graduate(self): print("Congrats on graduating!")
ABC del modulo abcpassSchool deve implementare enroll()class HighSchool(School):
def enroll(self):
print("Welcome to high school!")
# Crea un'istanza di HighSchool
high_school = HighSchool()
high_school.enroll()
Welcome to high school!
high_school.graduate()
Congrats on graduating!
HighSchool deve definire enroll()TypeError se enroll() non è definitoHighSchool eredita il metodo 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() e add_course()class HighSchool(School):
def __init__(self):
self.courses = []
# Implementazione del metodo astratto
def enroll(self):
print("Welcome to high school!")
# Implementazione del metodo astratto
def add_course(self, course_name):
self.courses.append(course_name)
print(f"You enrolled in {course_name}")
Programmazione a oggetti intermedia in Python