Shape é um exemplo de uma classe abstrata em Python. Nesse exemplo, existem duas subclasses que implementam os métodos dessa classe:
import math
class Shape: # define parent class
parametersList = []
def __init__(self,parametersList,color):
self.parametersList=parametersList
self.color=color
def print_color(self):
# Prints object color
raise NotImplementedError
def eval_area(self):
# Evals area
raise NotImplementedError
class Square(Shape): # define child class
def eval_area(self):
print(math.pow(self.parametersList,2))
def print_color(self):
print("My square is ",self.color)
class Rectangle(Shape): # define child class
def eval_area(self):
print (self.parametersList[0]*self.parametersList[1])
def print_color(self):
print("My Rectangle is ",self.color)
if __name__ == '__main__':
s=Square(2,'Blue')
s.print_color()
s.eval_area()
r=Rectangle([2,4],'Green')
r.print_color()
r.eval_area()