class Quadrat: """ Quadrat definit a partir del centre i la llargada d'un costat """ def __init__(self, centre, llargada): self.centre = list(centre) self.llargada = llargada def area(self): return self.llargada ** 2 def trasllada(self, dx, dy): self.centre[0] = self.centre[0] + dx self.centre[1] = self.centre[1] + dy def __str__(self): return ( "Quadrat centrat en " + str(tuple(self.centre)) + " i de mida " + str(self.llargada) ) class Rectangle(Quadrat): """ Rectangle definit a partir del centre i la llargada i l'amplada dels seus dos costats """ def __init__(self, centre, llargada, amplada): super().__init__(centre, llargada) self.amplada = amplada def area(self): return self.llargada * self.amplada def __str__(self): return ( "Rectangle centrat en " + str(tuple(self.centre)) + " i de mides " + str(self.llargada) + "x" + str(self.amplada) )