当前位置 : 主页 > 手机开发 > 其它 >

抽象类的定义

来源:互联网 收集:自由互联 发布时间:2021-06-19
#!usr/bin/env python# *- coding:utf-8 -*-# Andy Create @ 2019/5/9 9:50import abcclass AllFile(metaclass=abc.ABCMeta): type = ‘all file‘ @abc.abstractmethod def read(self): pass @abc.abstractmethod def write(self): passclass TxtFile(AllF
#!usr/bin/env python
# *- coding:utf-8 -*-
# Andy Create @ 2019/5/9 9:50

import abc


class AllFile(metaclass=abc.ABCMeta):
    type = ‘all file‘

    @abc.abstractmethod
    def read(self):
        pass

    @abc.abstractmethod
    def write(self):
        pass


class TxtFile(AllFile):
    type = ‘txt‘

    def read(self):
        print(‘read txt!‘)

    def write(self):
        print(‘write txt!‘)


t1 = TxtFile()
t1.read()

抽象类的定义需要借助abc模块。

抽象类定义的方法,非抽象子类必须定义所有抽象父类的方法,否则会报错(下面以只定义了read,未定义write为例):

通俗的讲:抽象类护短,而且必须是同种血亲才行,“非我族类,其心必异”,所以我说什么你就得听什么,不得违抗(非抽象类继承抽象类时必须实现所有抽象父类的方法)

网友评论