MST

星途 面试题库

面试题:Python中如何定义一个包含抽象方法的抽象类

请使用Python代码展示如何定义一个抽象类,该抽象类包含至少一个抽象方法,并简要说明抽象类和抽象方法的作用。
24.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
from abc import ABC, abstractmethod


class AbstractClassExample(ABC):
    @abstractmethod
    def abstract_method(self):
        pass


  1. 抽象类的作用
    • 抽象类主要用于定义一组相关类的通用接口和行为。它不能被实例化,只能作为其他类的基类。通过将一些通用的属性和方法放在抽象类中,使得继承自它的子类具有统一的接口规范,从而实现代码的一致性和可维护性。例如,在图形绘制的程序中,可以定义一个抽象的Shape类,包含计算面积和周长的抽象方法,然后CircleRectangle等具体图形类继承自Shape类并实现这些抽象方法,这样整个图形绘制系统的结构更加清晰,代码组织更加合理。
  2. 抽象方法的作用
    • 抽象方法只有方法的声明,没有具体的实现。它强制要求继承自抽象类的子类必须实现这些方法,否则子类也必须被定义为抽象类。这样就保证了所有子类都有统一的行为接口。比如上述Shape类中的计算面积和周长的抽象方法,所有具体的图形子类都必须实现这些方法,以提供各自图形计算面积和周长的具体逻辑。