前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >抽象类的使用和作用

抽象类的使用和作用

作者头像
罗罗攀
发布2021-07-28 11:02:33
8370
发布2021-07-28 11:02:33
举报

前言

今天我们一起来学习抽象类的使用,以及其作用。

抽象类和抽象方法

首先,我们来看看到底什么是抽象类。

抽象类是一种特殊的类,生来就是作为父类的,具有抽象方法。那我们就来看一下代码,通过代码我们来学习抽象类的定义和使用。

代码语言:javascript
复制
import abc


class Foo(metaclass=abc.ABCMeta):

    @abc.abstractmethod
    def test(self):
        pass


class Too(Foo):

    def test(self):
        print('test')


too = Too()
too.test()

foo = Foo()

test
TypeError: Can't instantiate abstract class Foo with abstract methods test

这里的Foo类就被称为抽象类,抽象类必须指定元类(metaclass)为abc模块的ABCMeta,抽象类中定义抽象方法,这里也需要加上装饰器。

通过程序运行结果可知,直接实例化Foo类会报错。

抽象类的作用

定义的抽象类不能直接实例化,抽象方法定义在抽象类中,子类必须要重写这个函数才可以使用。只所以会有抽象基类,这其实正是软件工程中一个很重要的概念,定义接口。我们想想,大型工程需要很多人一起合作开发,我们首先定义好抽象类,把需要的功能和事情定义好,做好接口,然后交给不同的程序员去开发即可。

今天的分享就到这了,我们下期再见~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 抽象类和抽象方法
  • 抽象类的作用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档