Classi Astratte e Blueprint
Scorri per mostrare il menu
Classi Base Astratte (ABC) sono uno strumento potente in Python per progettare sistemi orientati agli oggetti flessibili e robusti. Aiutano a creare codice manutenibile definendo contratti chiari che le sottoclassi devono rispettare.
123456789101112131415161718192021222324from abc import ABC, abstractmethod class PaymentMethod(ABC): @abstractmethod def pay(self, amount): pass class CreditCard(PaymentMethod): def pay(self, amount): return f"Paid {amount} using Credit Card" class PayPal(PaymentMethod): def pay(self, amount): return f"Paid {amount} using PayPal" def process_payment(method: PaymentMethod, amount): return method.pay(amount) print(process_payment(CreditCard(), 100)) print(process_payment(PayPal(), 250))
PaymentMethod è una classe base astratta. Definisce un metodo obbligatorio, pay, che ogni tipo di pagamento deve implementare. CreditCard e PayPal sono sottoclassi concrete. Forniscono le proprie versioni del metodo pay, ma seguono la stessa interfaccia.
La funzione process_payment funziona con qualsiasi metodo di pagamento perché si basa sul contratto astratto condiviso, non su classi specifiche.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione