Abstraction with ABC

Use the abc module to define abstract base classes and abstract methods.

PythonIntermediate
Python
# Program to demonstrate abstraction with ABC

from abc import ABC, abstractmethod


class Shape(ABC):
    @abstractmethod
    def area(self):
        pass


class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius * self.radius


c = Circle(5)
print("Area:", c.area())

Output

Area: 78.5

Shape defines an abstract method 'area'; Circle provides a concrete implementation, enforcing a common interface.