python进阶学习之抽象基类
python学习 . 2020/05/28发布 . shanyonggang_web . 我要评论 . 226阅读

主要是记录下自己对抽象基类的一些理解,抽象基类Abstract Base Class主要是在类中定义抽象方法和属性,其不需要在类中实现具体的方法,相当于提供一个接口说明,比如我们想实现什么功能(抽象基类自己不需要实现),具体方法主要通过其子类进行实现。抽象基类有几个特征:1、子类需要继承抽象类的方法,否则会报错;2、抽象基类无法进行实例化;

具体实现

python中实现抽象基类主要使用的abc模块,同时abc.ABCMeta 用于在Python程序中创建抽象基类,还有装饰器:@abstractmethod、@abstarctproperty ,主要是用来创建抽象方法、属性等,具体代码实现如下:

# /*
#  * @Author: Jack Shan
#  * @Date: 2020-05-28 15:39:22
#  * @Last Modified by:   Jack Shan
#  * @Last Modified time: 2020-05-28 15:39:22
#  */

from abc import abstractmethod, ABCMeta


class Animal(metaclass=ABCMeta):

    @abstractmethod
    def eat(self):
        pass

    @abstractmethod
    def see(self):
        pass


class Dog(Animal):

    def eat(self):
        return "Dog eat meat!!!"

    def get(self):
        return "Dog get meat!!!"

    def see(self):
        return "Dog see meat!!!"


# print(Animal())
dog = Dog()
print(dog.eat())

 


  • 有疑问请在下方评论区留言,我会尽快回复。
  • Email私信我: 511248513@qq.com 或添加博主 微信

前一篇:python中bisect用法

后一篇:已经是最后一篇文章了!

本文作者:shanyonggang_web
发布时间:2020年5月28日 15:16
许可协议: 署名-非商业性使用 4.0 国际许可协议
知识共享许可协议     转载请保留原文链接及作者
正在加载今日诗词....
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的


登录 后回复

当前暂无评论,点击登录来做第一个吃螃蟹的人吧!