Polymorphic override, and private member variable
polymorphic and private.py
class Shape: #super class def __init__(self, length=0): self.__length = length #__double underscore DENY access outside of class def area(self): return "Shape does not have area" def getLength(self): #have to implement this method to access length return self.__length class Rectangle(Shape): #sub class def __init__(self, length=0, width=0): super(Rectangle, self).__init__(length) #init the parent class __length self.width = width def area(self): #override area method - area is polymorphic return self.width * self.getLength() #cant access directly as private line = Shape(10) print( line.area() ) #Shape does not have area box = Rectangle(3,4) print( box.area() ) #12, calculates by access private variable __length