博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 抽象类、抽象方法的实现
阅读量:5935 次
发布时间:2019-06-19

本文共 1025 字,大约阅读时间需要 3 分钟。

由于python 没有抽象类、接口的概念,所以要实现这种功能得abc.py 这个类库,具体方式如下

1 from abc import ABCMeta, abstractmethod 2  3 #抽象类 4 class Headers(object): 5     __metaclass__ = ABCMeta 6  7     def __init__(self): 8         self.headers = '' 9 10     @abstractmethod11     def _getBaiduHeaders(self):pass12 13     def __str__(self):14         return str(self.headers)15 16     def __repr__(self):17         return repr(self.headers)18 19 #实现类20 class BaiduHeaders(Headers):21     def __init__(self, url, username, password):22         self.url = url23         self.headers = self._getBaiduHeaders(username, password)24 25     def _getBaiduHeaders(self, username, password):26         client = GLOBAL_SUDS_CLIENT.Client(self.url)27         headers = client.factory.create('ns0:AuthHeader')28         headers.username = username29         headers.password = password30         headers.token = _baidu_headers['token']31         return headers

如果子类不实现父类的_getBaiduHeaders方法,则抛出TypeError: Can't instantiate abstract class BaiduHeaders with abstract methods  异常

转载地址:http://lbctx.baihongyu.com/

你可能感兴趣的文章
C语言的编程风格
查看>>
iptables_cacti_nagios
查看>>
Ubuntu麒麟社区的行为准则(Code of Conduct)
查看>>
常用正则表达式总结
查看>>
C++容器类的简介
查看>>
SCTP 关联的建立和终止
查看>>
嵌入式开发之davinci--- mcfw框架介绍
查看>>
利用Google翻译成多国语言的见解
查看>>
164. Maximum Gap
查看>>
ubuntu下一个rootusername入口mysql,如何查看username和password,如何改变rootpassword
查看>>
scala 学习笔记(04) OOP(上)主从构造器/私有属性/伴生对象(单例静态类)/apply方法/嵌套类...
查看>>
使用mysql索引的规则
查看>>
K临近算法
查看>>
第五节,计算机(电脑)简介
查看>>
Linux SHELL脚本
查看>>
跟着百度学习之ThinkPHP的认识/初窥
查看>>
【Code::Blocks】windows 环境下编译 Code::Blocks(已修正)
查看>>
web报表工具FineReport经常使用函数的使用方法总结(日期和时间函数)
查看>>
使用离线文档
查看>>
How to make an executable jar file?
查看>>