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
相关推荐
2401_841495642 分钟前
【LeetCode刷题】跳跃游戏
数据结构·python·算法·leetcode·游戏·贪心算法·数组
BoBoZz1918 分钟前
MarchingCases marchingcubes算法15种情况的展示
python·vtk·图形渲染·图形处理
彼岸花开了吗28 分钟前
构建AI智能体:五十二、反应式智能体:基于“感知-行动”,AI世界的条件反射
人工智能·python·agent
weixin_4296907239 分钟前
# 数字人系统开发:如何选择可靠的开源方案在人工智能和虚
人工智能·python·开源
艾上编程1 小时前
《Python实战小课:数据分析场景——解锁数据洞察之力》导读
python·数据挖掘·数据分析
Lyinj1 小时前
从一个编辑校验问题谈接口设计的边界
java·spring boot·python·学习
纪伊路上盛名在1 小时前
文献阅读自动化1-批量检索、更新文献
python·自动化·文献阅读·科研日常·流程化
梦白.1 小时前
Python字符串类型
linux·python
gf13211111 小时前
python_图片、字幕文本、音频一键组合
python·音视频·swift
查拉图斯特拉面条1 小时前
UI自动化断言完全指南:从基础到高级的断言表达式实战
python·自动化