大话设计模式(Python版)--适配器模式
来源:互联网 发布:淘宝店有多少家 编辑:程序博客网 时间:2024/06/05 17:31
适配器模式--v1
#!/usr/bin/env pythonfrom abc import abstractmethodclass Target: @abstractmethod def Request(self): print("normal request")class Adaptee: def SpecificRequest(self): print("special request")class Adapter(Target): def __init__(self): self.__adaptee = Adaptee() def Request(self): self.__adaptee.SpecificRequest()def main(): target = Adapter() target.Request()if __name__ == '__main__': main()
篮球翻译适配器 v2
#!/usr/bin/env pythonfrom abc import abstractmethodclass Player: def __init__(self,name): self._name = name @abstractmethod def Attack(self): pass @abstractmethod def Defense(self): passclass Forwards(Player): def __init__(self, name): super(Forwards,self).__init__(name) def Attack(self): print("前锋",self._name,"进攻") def Defense(self): print("前锋",self._name,"防守")class Center(Player): def __init__(self, name): super(Center,self).__init__(name) def Attack(self): print("中锋",self._name,"进攻") def Defense(self): print("中锋",self._name,"防守") class Guards(Player): def __init__(self, name): super(Guards,self).__init__(name) def Attack(self): print("后卫",self._name,"进攻") def Defense(self): print("后卫",self._name,"防守")def main(): Tom = Forwards('Tom') Tom.Attack() Joe = Guards('Joe') Joe.Attack() Fred = Center('Fred') Fred.Attack() Fred.Defense()if __name__ == '__main__': main()
篮球适配器模式 v3
#!/usr/bin/env pythonfrom abc import abstractmethodclass Player: def __init__(self,name): self._name = name @abstractmethod def Attack(self): pass @abstractmethod def Defense(self): passclass Forwards(Player): def __init__(self, name): super(Forwards,self).__init__(name) def Attack(self): print("前锋",self._name,"进攻") def Defense(self): print("前锋",self._name,"防守")class Center(Player): def __init__(self, name): super(Center,self).__init__(name) def Attack(self): print("中锋",self._name,"进攻") def Defense(self): print("中锋",self._name,"防守") class Guards(Player): def __init__(self, name): super(Guards,self).__init__(name) def Attack(self): print("后卫",self._name,"进攻") def Defense(self): print("后卫",self._name,"防守") class ForeignCenter(Player): @property def Name(self): return self._name @Name.setter def Name(self, name): self._name = name def Attack(self): print("外籍中锋",self._name,"进攻") def Defense(self): print("外籍中锋",self._name,"防守")class Translator(Player): def __init__(self,name): super(Translator,self).__init__(name) self.__fc = ForeignCenter(name) self.__fc.Name = name def Attack(self): self.__fc.Attack() def Defense(self): self.__fc.Defense()def main(): Tom = Forwards('Tom') Tom.Attack() Joe = Guards('Joe') Joe.Attack() Fred = Translator('Fred') Fred.Attack() Fred.Defense() if __name__ == '__main__': main()
0 0
- 大话设计模式(Python版)--适配器模式
- 大话设计模式-适配器
- 大话设计模式-适配器模式
- 大话设计模式 适配器模式
- 大话设计模式-适配器模式
- 大话设计之适配器模式
- 大话设计模式十七:适配器模式(adaptor)
- 大话设计模式读书笔记(十四) 适配器模式
- 大话设计模式_适配器模式
- 【大话设计模式】——适配器模式
- 大话设计模式之适配器模式
- linkin大话设计模式--适配器模式
- 大话设计模式——适配器模式
- 大话设计模式之适配器模式
- 大话设计模式—适配器模式
- <<大话设计模式>>之适配器模式
- 大话设计模式17----适配器模式
- 【读书笔记】大话设计模式—适配器模式
- [数据结构]-- PTA一元多项式的乘法与加法运算
- javascript实现23种设计模式
- BingMap
- Android开发常用功能
- 做项目遇见的问题,记录备查询
- 大话设计模式(Python版)--适配器模式
- Python基础学习--第五篇(Dict和Set类型)
- IT从业人员面试经典70问答
- opencv的安装
- 在做自动化测试之前你需要知道的
- matlab 读写其他格式数据文件(excel)
- 第九周项目4-广义表算法库及应用(1) 未完待续
- C++——多线程编程(一)std::thread
- 秒杀多线程-经典线程同步之信号量Semaphore