发布于2020-03-19 11:21 阅读(4084) 评论(0) 点赞(4) 收藏(5)
引言:
在我们日常生活中用电脑存储数据时,会用到磁盘存储 文件存储 存储器存储等,每种存储方式都会有读数据和写数据两种操作,那么读和写操作可以提出来单写成一个类。剩下三个类去继承他的方法即可。但是要注意:我们需要这三种方法必须都有读写两种方法,这时就需要用到接口类。
例:
首先演示一个没有用到接口类的,在Mem类中只实现了read()方法,程序可执行
class All_file():
def read(self):
pass
def write(self):
pass
class Txt(All_file):
def read(self):
print('文本数据的读取方法')
def write(self):
print('文本数据的写方法')
class Disk(All_file):
def read(self):
print('磁盘数据的读取方法')
class Mem(All_file):
def read(self):
print('mem read')
m1=Mem()
m1.read()
结果
mem read
使用接口类后:
import abc
class All_file(metaclass=abc.ABCMeta):
@abc.abstractmethod
def read(self):
pass
@abc.abstractmethod
def write(self):
pass
class Txt(All_file):
def read(self):
print('文本数据的读取方法')
def write(self):
print('文本数据的写方法')
class Disk(All_file):
def read(self):
print('磁盘数据的读取方法')
class Mem(All_file):
def read(self):
print('mem read')
# def write(self):
# print('mem write')
m1=Mem()
m1.read()
结果:
Traceback (most recent call last):
File "E:/python_workspace/test/le/bin.py", line 41, in <module>
m1=Mem()
TypeError: Can't instantiate abstract class Mem with abstract methods write
这就实现了父类对它子类的一个限制,限制子类必须有读和写两种方法。而且接口类中的方法不必实现,她就是起到一个限制作用的。
作者:编程gogogo
链接:https://www.pythonheidong.com/blog/article/268433/b938f17dbd75733a035c/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!