7. 抽象

什么是抽象

抽象(Abstraction) 是指隐藏复杂实现细节、仅暴露必要接口的设计思想。

通过抽象,程序员可以定义类的接口,而不必关心这些接口的具体实现。

抽象有助于减少程序的复杂性,提高代码的可维护性和可读性。

实现方法

抽象类的实现

Python中的抽象通过抽象基类(ABC-Abstract Base Classes)和抽象方法(@abstractmethod)实现,用于定义规范和隐藏实现细节。

说明

抽象(Abstraction) 是一种隐藏复杂实现细节、仅暴露必要接口的设计思想。它允许开发者专注于对象的行为(做什么),而不是具体的实现(怎么做)。

示例

# 此示例示意抽象类的用法
from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def area(self):  # 面积
        pass
    @abstractmethod
    def perimeter(self):  # 周长
        pass

class Circle(Shape):  # 圆
    def __init__(self, radius):
        self.radius = radius
    def area(self):  # 面积
        return 3.1415 * self.radius ** 2
    def perimeter(self):  # 周长
        return 2 * 3.1415 * self.radius

class Rectangle(Shape):  # 矩形
    def __init__(self, w, h):
        self.w, self.h = w, h
    def area(self):  # 面积
        return self.w * self.h
    def perimeter(self):  # 周长
        return 2 * self.w + 2 * self.h

s = Shape()

此实例使用了装饰器(@abstractmethod),我们高级的内容才会学到装饰器,先用着再说!

视频讲解