抽象类的定义

#!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为例):

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

原文地址:https://www.cnblogs.com/Andy963/p/10837037.html