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