接口继承

类 / 继承

# Python has no interfaces
# therefore, the example uses abstract classes
from abc import ABC, abstractmethod


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

    @property
    @abstractmethod
    def line_count(self):
        pass


class Square(Shape):
    def __init__(self, side_length):
        self.side_length = side_length

    def get_area(self):
        return self.side_length * self.side_length

    @property
    def line_count(self):
        return 4


square = Square(5)
area = square.get_area()
# area is 25
line_count = square.line_count
# line_count is 4

print(f"{area = }")
print(f"{line_count = }")