第四百一十二节,python接口,抽象方法抽象类
Python接口
在Python中所谓的接口,有两种,一种是通过url访问的api接口
一种是一个对象的接口
构造接口
class Ijiekou: """ 定义一个约束接口 """ def f1(self,nid): raise Exception('所有继承此接口类的类必须实现(存在)f1方法') class oduixiang1(Ijiekou): """ 继承接口实现了f1方法 """ def f1(self, nid): print(nid) class oduixiang2(Ijiekou): """ 继承接口没有实现f1方法 """ # 继承接口实现了f1方法 obj1 = oduixiang1() obj1.f1(1) # 继承接口没有实现f1方法 obj2 = oduixiang2(抽象方法抽象类) obj2.f1(2) obj2.f1(2)
File "H:/shipbfq/22.py", line 10, in f1
raise Exception('所有继承此接口类的类必须实现(存在)f1方法')
Exception: 所有继承此接口类的类必须实现(存在)f1方法
抽象方法抽象类
抽象类与普通类的区别就是,抽象类里可以定义抽象方法,而抽象方法可以做约束,凡是继承抽象类、的类里、必须实现(存在)抽象方法,否则报错
定义抽象类必须引入abc模块
import abc class Ijiekou(metaclass=abc.ABCMeta): """ 定义抽象类必须设置metaclass=abc.ABCMeta """ def f1(self,nid): """ 普通方法 """ print(123) @abc.abstractmethod def f2(self): """ 抽象方法,设置抽象方法必须加装饰器@abc.abstractmethod """ class oduixiang1(Ijiekou): """ 继承抽象类 """ def f3(self, nid): print(nid) # def f2(self,nid): # """ # 继承了抽象类,而抽象类里有抽象方法,就必须实现抽象方法不然会报错,(约束) # """ # print(456) # 继承接口实现了f1方法 obj1 = oduixiang1() obj1.f1(1)
报错
E:\Evns\jxiou\Scripts\python.exe H:/shipbfq/22.py
Traceback (most recent call last):
File "H:/shipbfq/22.py",
line 37, in <module>
obj1 = oduixiang1()
TypeError: Can't
instantiate abstract class oduixiang1 with abstract methods f2
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-04-24 第二百三十节,jQuery EasyUI,后台管理界面---后台管理
2017-04-24 第二百二十九节,jQuery EasyUI,后台管理界面---后台登录