In Python non esiste la parola riservata abstract
ma si ottiene un comportamento, in qualche modo, analogo con qualche stratagemma come, ad esempio, scatenando un'eccezione qualora venga invocato un metodo astratto.
from math import pi class Colore: def __init__(self, rosso=0, verde=0, blue=0): self.rosso = rosso self.verde = verde self.blue = blue class FiguraGeometrica: def __init__(self, x, y, colore): self.x = x self.y = y self.colore = colore def disegna(self): raise "Metodo Astratto!" def getArea(self): raise " Metodo Astratto!" def sposta(self, x, y): self.x += x self.y += y class Cerchio(FiguraGeometrica): def __init__(self, x, y, raggio, colore): FiguraGeometrica.__init__(self, x, y, colore) self.raggio = raggio def disegna(self): pass # Esegue il disegno della figura def getArea(self): return int(pi * self.raggio) class Rettangolo(FiguraGeometrica): def __init__(self, x, y, base, altezza, colore): Shape.__init__(self, x, y, colore) self.base = base self.altezza = altezza def disegna(self): pass # Esegue il disegno della figura def getArea(self): return self.base * self.altezza