码迷,mamicode.com
首页 > 编程语言 > 详细

python面向对象三大特性-多态

时间:2019-02-16 09:17:25      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:pen   with open   type   继承   meta   span   方法   process   读取方法   

import abc #利用abc模块实现抽象类

class All_file(metaclass=abc.ABCMeta):
    all_type=file
    @abc.abstractmethod #定义抽象方法,无需实现功能
    def read(self):
        子类必须定义读功能
        with open(filaname) as f:
            pass

    @abc.abstractmethod #定义抽象方法,无需实现功能
    def write(self):
        子类必须定义写功能
        pass

class Txt(All_file): #子类继承抽象类,但是必须定义read和write方法
    def read(self):
        print(文本数据的读取方法)
    def write(self):
        print(文本数据的读取方法)

class Sata(All_file): #子类继承抽象类,但是必须定义read和write方法
    def read(self):
        print(硬盘数据的读取方法)

    def write(self):
        print(硬盘数据的读取方法)

class Process(All_file): #子类继承抽象类,但是必须定义read和write方法
    def read(self):
        print(进程数据的读取方法)

    def write(self):
        print(进程数据的读取方法)

wenbenwenjian=Txt()

yingpanwenjian=Sata()

jinchengwenjian=Process()

#这样大家都是被归一化了,也就是一切皆文件的思想
wenbenwenjian.read()
yingpanwenjian.write()
jinchengwenjian.read()

print(wenbenwenjian.all_type)
print(yingpanwenjian.all_type)
print(jinchengwenjian.all_type)

 

python面向对象三大特性-多态

标签:pen   with open   type   继承   meta   span   方法   process   读取方法   

原文地址:https://www.cnblogs.com/wc89/p/10386681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!