For example, this abstract class:
from abc import ABC, abstractmethod
class Polygon(ABC):
# abstract method
def noofsides(self):
print("something")
class Triangle(Polygon):
# overriding abstract method
def noofsides(self):
print("I have 3 sides")
...could be written as a superclass and it would do the exact same thing:
class Polygon:
def noofsides(self):
print("something")
class Triangle(Polygon):
# overriding abstract method
def noofsides(self):
print("I have 3 sides")
So I don't see the point in using an abstract class. Can someone explain me please?