python 抽象类

这是一个正常类

python 复制代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
class A:
    def f(self):
        pass


class B(A):
    def g(self):
        print("g")


if __name__ == "__main__":
    a = A()
    b = B()
    b.g()  # g
    b.f()

抽象类(C++中含有纯虚函数的类,)

让A继承ABC,然后给f标上@abstractmethod,A就是一个抽象类了

必须要实现f才能实例化

python 复制代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from abc import ABC, abstractmethod


class A(ABC):
    @abstractmethod
    def f(self):
        pass


class B(A):
    def f(self):
        print("f")

    def g(self):
        print("g")


class C(A):
    pass


if __name__ == "__main__":
    # a = A()
    b = B()
    b.g()  # g
    b.f()  # f
    c = C()  # TypeError: Can't instantiate abstract class C with abstract methods f
相关推荐
SeatuneWrite20 分钟前
动态漫软件2026推荐,助力高效创作体验
人工智能·python
AC赳赳老秦22 分钟前
文案策划提效:OpenClaw批量生成活动文案、宣传海报配文,适配不同渠道调性
java·大数据·服务器·人工智能·python·deepseek·openclaw
甄心爱学习36 分钟前
【项目实训】法律文书智能摘要系统5
python·github
烟雨江南aabb1 小时前
Python第四弹:python进阶-匿名函数和内置函数
开发语言·python
TE-茶叶蛋1 小时前
Java 8 引入的Stream API-stream()
java·windows·python
小陈的进阶之路1 小时前
Python系列课(9)——面向对象
开发语言·python
wen_zhufeng1 小时前
python-dotenv 使用文档
数据库·python·oracle
Str_Null2 小时前
杀戮尖塔通过修改记录文件和备份文件进行修改血量和金币
python
钝挫力PROGRAMER2 小时前
复杂PDF转Markdown实战:从Marker到多模态的处理全记录
python·pdf
TechWayfarer2 小时前
账号安全实战:基于IP归属地基线的三原则异地登录风控模型
服务器·网络·python·安全·网络安全