python 接口与归一化设计+抽象类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 接口与归一化设计+抽象类相关的知识,希望对你有一定的参考价值。
1.什么是接口
接口可以理解为自己给使用者来调用自己功能方法的入口。
2.为什么要用接口
(1).可以实现权限控制,比如可以通过接口做一下访问控制,可以允许或者拒绝调用者的一些操作。
(2).降低了使用者的使用难度,使用者只需要知道怎么调用即可,不需要知道里边的具体实现方法。
3.接口的例子
class File:#定义接口 def read(self): #定接口函数read pass def write(self): #定义接口函数write pass class Txt(Interface): #文本,具体实现read和write def read(self): print(‘文本数据的读取方法‘) def write(self): print(‘文本数据的读取方法‘) class Sata(Interface): #磁盘,具体实现read和write def read(self): print(‘硬盘数据的读取方法‘) def write(self): print(‘硬盘数据的读取方法‘)
上述例子就是一个接口类型,子类中的方法与父类的保持一致。但是这种发放并不能强制子类拥有父类中定义的方法,子类可以随便更改函数名称。
解决上述方法就用到了“抽象类”
抽象类
import abc #导入abc模块实现抽象类 class Ifile(metaclass=abc.ABCMeta): #固定写法,类名无所谓,可以随意取. @abc.abstractmethod #定义抽象方法,继承此类的子类中必须有下面的函数,没有就会报错. def read(self): pass @abc.abstractmethod def write(self): pass class Txt(Ifile): #子类继承抽象类 子类中必须要有read跟write方法,没有就会报错. def read(self): print(‘这是TXT文件的读‘) def write(self): print(‘这是TXT文件的写..‘) class Html(Ifile): def read(self): print(‘这是Html文件的读‘) def write(self): print(‘这是Html文件的写..‘) t = Txt() #定义对象 h = Html() t.read() #在使用的时候直接使用read方法即可。这样大家就做到了统一化,读文件的时候都用read方法。 h.read()
以上是关于python 接口与归一化设计+抽象类的主要内容,如果未能解决你的问题,请参考以下文章