Classes abstractes en Python
Python permet la creació de classes abstractes, és a dir, que no permeten instàncies directes sobre aquestes.
Una altra classe sí que pot, però, heretar de la classe abstracta. Aleshores sí que es poden fer instàncies sobre aquesta nova classe.
Per poder crear una classe abstracta cal importar del mòdul «abc» la classe ABC.
Exemple de classe abstracta en Python
from abc import * # necessari per a la classe ABC (Abstract Base Class) i # abstractmethod # per crear una classe abstracta heretem la classe ABC i establim mètodes abstractes class Entitat(ABC): @abstractmethod def existeix(self): pass class Persona(Entitat): # implementem el mètode existeix() def existeix(self): print("salutacions des de la classe Persona") class Cosa(Entitat): # implementem el mètode existeix() def existeix(self): print("salutacions des de la classe Cosa") # e = Entitat() # donaria error ja que la classe 'Entitat' és abstracta p = Persona() # donaria error quan instanciéssim objetos si no implementem el mètode 'existeix' p.existeix() c = Cosa() c.existeix() # el mateix