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