没有合适的资源?快使用搜索试试~ 我知道了~
首页Python3之接口类(InterfaceClass)浅谈
日期:2020年3月14日 作者:Commas 注释:学习就是为了忘记,什么是接口类,怎么将方法变为属性; 如果您想了解更多有关Python的知识,那么请点《我的Python浅谈系列目录》 文章目录一、接口类的定义与作用二、图形的接口类示例三、@property让方法秒变“属性” 一、接口类的定义与作用 接口类实际上就是一个规范子类的类,只不过这个类与别的类不太一样,接口(内部的方法)本身不实现,子类继承接口类,子类需要实现接口的功能,否则无法正常工作。那么作用也毋庸置疑,就是规范好子类的接口。 定义一个接口类,我们需要abc模块(抽象类基类,Abstract Base Classes)中
资源详情
资源评论
资源推荐

Python3之接口类(之接口类(InterfaceClass)浅谈)浅谈
日期:2020年3月14日
作者:Commas
注释:学习就是为了忘记,什么是接口类,怎么将方法变为属性;
如果您想了解更多有关Python的知识,那么请点《我的Python浅谈系列目录》
文章目录文章目录一、接口类的定义与作用二、图形的接口类示例三、一、接口类的定义与作用二、图形的接口类示例三、@property让方法秒变让方法秒变“属性属性”
一、接口类的定义与作用一、接口类的定义与作用
接口类实际上就是一个规范子类的类,只不过这个类与别的类不太一样,接口(内部的方法)本身不实现,子类继承接口类,
子类需要实现接口的功能,否则无法正常工作。那么作用也毋庸置疑,就是规范好子类的接口。
定义一个接口类,我们需要abc模块(抽象类基类,Abstract Base Classes)中的两个工具abstractmethod, ABCMeta,详情如
下:
工具工具 说明说明
abstractmethod 抽象类的装饰器,接口类中的接口需要使用此装饰器
ABCMeta 抽象类元类
from abc import abstractmethod, ABCMeta
def 接口类名(metaclass=ABCMeta):
"""定义您的接口类"""
@abstractmethod
def 方法1(self):
"""定义接口名,但不需要实现其功能,由继承此类的子类实现"""
pass
@abstractmethod
def 方法2(self):
"""定义接口名,但不需要实现其功能,由继承此类的子类实现"""
pass
二、图形的接口类示例二、图形的接口类示例
接下来我们来定义一个图形的接口类GraphicRule,提供两个接口,如下:
接口接口 说明说明
area 图形的面积
perimeter 图形的周长
接口类仅提供接口名的约束,不实现其接口功能,由其子类的矩形类Rectangle实现,如果子类Rectangle不实现接口类
GraphicRule中所有的接口,即area和perimeter,在实例对象的时候,会抛出异常,如我们不实现接口perimeter,将会得到以
下异常:
TypeError: Can't instantiate abstract class Rectangle with abstract methods perimeter
在我们看到这个异常的时候,我们就知道我们还有什么接口没有实现,异常的解决还不是so easy的事情,完整的示例代码如
下:
from abc import abstractmethod, ABCMeta
class GraphicRule(metaclass=ABCMeta):
"""图形接口类"""
@abstractmethod
def area(self):
"""面积"""
pass
@abstractmethod
def perimeter(self):
"""周长"""
pass
class Rectangle(GraphicRule):



















weixin_38601878
- 粉丝: 5
- 资源: 961
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0