python实现Adapter模式实例代码
作者:apple_boys 发布时间:2021-10-20 00:43:02
标签:python,adapter
本文研究的主要是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()
运行如图:
来源:http://blog.csdn.net/apple_boys/article/details/22825577


猜你喜欢
- Python 3 的可迭代解包在 PEP 3132 - Extended Iterable Unpacking 里面描述了一种对可迭代对象的
- 示例标准线程多进程,生产者/消费者示例:Worker越多,问题越大# -*- coding: utf8 -*-import osimport
- 尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有
- 测试用例(1) 测试用例(2)代码如下(python):# coding=utf-8from appium import webd
- 工作中遇到一个问题,两个字符串匹配,要求:每个字符串中最多含有一个*,?可以无限多个*代表一个任意长度的字符串,而?则代表一个字符要求可以提
- 代码很简单,这里就不多废话了,直接奉上:$(function(){ var w=
- 1.前言最近在用 Python 写一个小工具,这个工具主要就是用来管理各种资源的信息,比如阿里云的 ECS 等信息,因为我工作的电脑使用的是
- 通过PyQt5实现设置一个小闹钟的功能,到了设置的时间后可以响起一段音乐来提醒。导入UI界面组件相关的模块from PyQt5.QtCore
- 前言上篇说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则!pytest执行用
- ORACLE访问SQL SERVER数据库有一篇《Oracle 异构服务实践》讲得很清楚。但里面没有讲如何设置访问多个SQL Server数
- 1.基本函数介绍(1)标准类型函数[type()、str()和 cmp()] &n
- 创建SQL存储过程需要使用到的语法- 创建存储过程CREATE 存储过程的名称(参数)BEGIN...需要执行的SQL语句END- 调用CA
- 同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂! 概述 首先主服务器把数据变化记录到主日志,然后从
- 通过第三方BeautifulSoup库来爬取op.gg网页静态数据主要思路op.gg网站网站以出场率高低排名,并且列出对位胜率,在高出场率的
- 假如页面上有很多条记录,很多情况下,对这些信息按照字母表降序排序会比传统的升序排序显示效率更高。采用你熟悉的ORDER BY 子句,你可以很
- 当元素设置浮动(float)后会被移出文档流,相信大家都会经常遇到这样的问题。这问题的解决办法有N种之多,因为每种浏览器对CSS的解析各异,
- 实现一个不规则窗体这里我们实现一个圆形窗体,实现其他形状的窗体与这个方法类似。首先,把窗口的高度(height)和宽度(width)值修改为
- 出现invalid syntax报错的几种原因这篇文章旨为刚接触python不久的朋友,提供一点帮助,请在检查代码没有主要问题时再看是否存在
- 什么是运算符重载让自定义的类生成的对象(实例)能够使用运算符进行操作作用:让自定义的实例像内建对象一样进行运算符操作让程序简洁易读对自定义对
- 使用 Python 内建的defaultdict 方法可以轻松定义一个树的数据结构。简单的说树也可以是一个字典数据结构 def t