Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Classi Astratte e Blueprint | Ereditarietà
Programmazione Orientata Agli Oggetti in Python

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

123456789101112131415161718192021222324
from 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))
copy

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.

Note
Nota

La funzione process_payment funziona con qualsiasi metodo di pagamento perché si basa sul contratto astratto condiviso, non su classi specifiche.

question mark

Qual è la differenza principale tra una classe astratta e una classe concreta?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 6

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 6
some-alt