python实现Adapter模式实例代码

yipeiwu_com6年前Python基础

本文研究的主要是python实现Adapter模式的相关内容,具体实现代码如下。

Adapter模式有两种实现方式一种是类方式。

#理解 
#就是电源适配器的原理吧,将本来不兼容的接口类能够工作 
#这个是类实现方式 
#例子 
#假如一个插座类输出脚是3脚的,而台灯需要的是两脚插座,现在就需要一个Adapter实现适配插座 
#Adaptee 
class socket(object): 
  def Trigle(self): 
    print 'power supply' 
#target 
class tableLamp(object): 
  def needTwo(self): 
    pass 
#adapter 
class Adapter(tableLamp,socket): 
  def needTwo(self): 
    self.Trigle() 
#client 
if __name__=='__main__': 
  lamp=Adapter() 
  lamp.needTwo() 

运行如图

第二种是对象方式。

#这个是对象实现方式 
class socket(object): 
  def Trigle(self): 
    print 'power supply over' 
#target 
class tableLamp(object): 
  def needTwo(self): 
    pass 
#adapter 
class Adapter(tableLamp): 
  def __init__(self,Socket): 
    self.socket=Socket 
  def needTwo(self): 
    self.socket.Trigle() 
#client 
if __name__=='__main__': 
  plug=socket() 
  lamp=Adapter(plug) 
  lamp.needTwo() 

运行如图:

总结

以上就是本文关于python实现Adapter模式实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python实现计算最小编辑距离

Python实现计算最小编辑距离

最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:删除,插入,替换。具体内容可参见:维基百科—莱文斯坦距离。一般代码实现的...

numpy中的ndarray方法和属性详解

NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当...

python写的一个squid访问日志分析的小程序

python写的一个squid访问日志分析的小程序

这两周组里面几位想学习python,于是我们就创建了一个这样的环境和氛围来给大家学习。 昨天在群里,贴了一个需求,就是统计squid访问日志中ip 访问数和url的访问数并排序,不少同学...

Python中dict和set的用法讲解

Python中dict和set的用法讲解

dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 举个例子,假设要...

Python随机生成均匀分布在三角形内或者任意多边形内的点

Python随机生成均匀分布在三角形内或者任意多边形内的点

Python有一随机函数可以产生[0,1)区间内的随机数,基于此函数生成随机分布在任意三角形内的点 由数学知识得知: 几何体的向量表达形式 直线: 线段: 推广到高维 三维平面:...