python类的组合应用
来源:互联网 发布:ax软件 编辑:程序博客网 时间:2024/06/05 00:47
class Employee: def __init__(self,name,salary = 0): self.name = name self.salary = salary def giveRaise(self,percent): self.salary = self.salary + (self.salary * percent) def work(self): print self.name,' does stuff' def __repr__(self): return '<Employee: name = %s ,salary = %s>' % (self.name,self.salary) class Chef(Employee): def __init__(self,name): Employee.__init__(self,name,50000) def work(self): print self.name,'makes food'class Server(Employee): def __init__(self,name): Employee.__init__(self,name,40000) def work(self): print self.name, ' interfaces with customer'class PizzaRobot(Chef): def __init__(self,name): Chef.__init__(self,name) def work(self): print self.name,' makes pizza' class Customer: def __init__(self,name): self.name = name def order(self,server): print self.name,' order from ',server def pay(self,server): print self.name,' pays for item to ', serverclass Oven: def bake(self): print 'oven bakes'class PizzaShop: def __init__(self): self.server = Server('Pat') self.chef = PizzaRobot('Bob') self.oven = Oven() def order(self,name): customer = Customer(name) customer.order(self.server) self.chef.work() self.oven.bake() customer.pay(self.server)if __name__ == '__main__': scene = PizzaShop() scene.order('Homer') print '...' scene.order('Shaggy')
输出:
Homer order from <Employee: name = Pat ,salary = 40000>Bob makes pizzaoven bakesHomer pays for item to <Employee: name = Pat ,salary = 40000>...Shaggy order from <Employee: name = Pat ,salary = 40000>Bob makes pizzaoven bakesShaggy pays for item to <Employee: name = Pat ,salary = 40000>
- python类的组合应用
- Python:类的组合
- 类的组合的应用
- 什么是Python类的组合?
- 组合模式的应用
- 组合选择 的应用
- 应用图的组合表示
- 组合模式的简单应用
- Python的标准UT组合
- [Python]常用的组合数据类型
- Python组合的实例用法
- 对象、继承、封装、多态、抽象类的组合应用
- Python 类的应用(1)
- Python 类的应用(2)
- Python 组合
- PYTHON组合
- VB内组合键的应用 1
- 一系列缓存技术的组合应用
- USB multi gadget 支持问题
- Linux kernel map贴图
- 16 个 Linux 服务器监控命令
- 【转载】HBase性能优化方法总结(3):写表操作
- 分布式应用协同服务:ZooKeeper
- python类的组合应用
- 完整的XML
- 原来早就有java代码规范
- dojo判断浏览器和OS
- 使用<a>标签触发JS函数的几种办法
- 【转载】HBase性能优化方法总结(4):读表操作
- Vim快速选中、删除、复制引号或括号中的内容
- 小试lambda
- 推荐编程语言(c/c++,c#等)学习网站