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算法之冒泡排序

python之冒泡排序 概念: 重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相...

python3.x 将byte转成字符串的方法

如下所示: result = str(要转换的变量名, encoding='utf-8') 例如: result = str(request, encoding='utf-8'...

解决Python 遍历字典时删除元素报异常的问题

错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② --...

Python中一些不为人知的基础技巧总结

前言 本文主要给大家总结介绍了关于Python的一些基础技巧,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1.startswith()和endswith()参数可以...

python2.7删除文件夹和删除文件代码实例

复制代码 代码如下:#!c:\python27\python.exe# -*- coding: utf-8 -*- import osimport re from os import p...