Abstract methods
Simile a protocol in Swift.
Usa il decoratore
@abstractmethod
Non si può istanziare una classe astratta, perché i metodi astratti non hanno un’implementazione iniziale. Si può istanziare se si crea una sottoclasse della classe astratta, e si implementano tutti i metodi astratti. Si possono implementare anche pochi metodi per sottoclasse.
class classe_astratta(ABC):
'''Questa classe è astratta (e dunque non istanziabile direttamente)
perché definisce (almeno) un metodo astratto
'''
def __init__(self, value):
self.cached_value = value
@abstractmethod
def un_metodo_astratto(self):
'''Un metodo astratto si 'riconosce' dal
decoratore @abstractmethod
'''
pass
c = classe_astratta(10) # errore