定义抽象基类(Abstract Base Class)

本文介绍了一个Python中使用抽象基类(ABC)的例子。通过定义一个名为animal的抽象基类,并实现其子类Cat来展示如何重写抽象方法。同时,通过未正确重写抽象方法的Dog类示例说明了抽象基类的使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/python3
import abc

#这里定义了一个抽象基类(ABC),继承abc.ABC
class animal(abc.ABC):
    @abc.abstractmethod
    def getName(self):
        """获取动物名称"""

#定义一个子类        
class Cat(animal):
    def getName(self):
        return '猫,Hellokitty'
        
#定义了子类,但是没有重定义虚函数getName.
#import时不会报错,运行时报错,即定义对象时报错,如下所示。
class Dog(animal):
    def __init__(self):
        print('汪汪汪...')
        
if __name__=='__main__':
    c=Cat()
    print(isinstance(c,animal))
    d=Dog()#此处报错--->TypeError: Can't instantiate abstract class Dog with abstract methods getName

---------------

扫一扫,关注我们

 

转载于:https://my.oschina.net/aomojan/blog/775716

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值