2012年5月5日土曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)のまとめ演習7(コンポジション)を解いてみる。

7.

コード(TextWrangler)

#!/usr/bin/env python
#encoding: utf-8

class Lunch:
 def __init__(self):
  self.c = Customer()
  self.e = Employee()
 
 def order(self, foodName):
  self.c.placeOrder(foodName,self.e)
  
 def result(self):
  self.c.printFood()

class Customer:
 def __init__(self):
  self.foodName = None
  
 def placeOrder(self,foodName,employee):
  self.food = employee.takeOrder(foodName)
  
 def printFood(self):
  print(self.food.name)
 
class Employee:
 def takeOrder(self,foodName):
  return Food(foodName)

class Food:
 def __init__(self,name):
  self.name = name

if __name__ == '__main__':
 lunch = Lunch()
 lunch.order('hamburger')
 lunch.result()
 lunch.order('cola')
 lunch.result()

入出力結果(Terminal)

$ python sample.py
hamburger
cola
$

0 コメント:

コメントを投稿