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
相关推荐
m0_617881423 分钟前
如何优雅处理SQL存储过程异常_使用TRY-CATCH块机制
jvm·数据库·python
步辞3 分钟前
如何用SQL实现分组内前N个百分比筛选_窗口函数应用
jvm·数据库·python
m0_684501984 分钟前
PySpark中高效展开嵌套数组:避免笛卡尔爆炸的正确实践
jvm·数据库·python
asdzx676 分钟前
Python: 从 PPT 提取图片和文本
开发语言·python·powerpoint
qq_372906936 分钟前
Layui如何实现表格内部的图片点击后进入相册轮播模式
jvm·数据库·python
好家伙VCC7 分钟前
**发散创新:基于Solidity的通证经济模型设计与智能合约实现**在区块链技术日益成熟的今天,**通证经济(Token Econo
java·python·区块链·智能合约
四维迁跃9 分钟前
SQL如何优化子查询的性能_改写为JOIN关联查询与消除嵌套
jvm·数据库·python
djjdjdjdjjdj9 分钟前
Layui上传组件upload怎么监听大文件上传的百分比进度条
jvm·数据库·python
B站_计算机毕业设计之家9 分钟前
计算机毕业设计:Python股市行情可视化与深度学习预测系统 Flask框架 TensorFlow LSTM 数据分析 可视化 大数据 大模型(建议收藏)✅
人工智能·python·深度学习·django·flask·tensorflow·课程设计
Polar__Star11 分钟前
如何用 bubbles 参数让自定义事件支持在 DOM 树中冒泡
jvm·数据库·python