Here is some code I wrote:

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

class Customer:
        def __init__(self,name):
                Customer.name = name
                Customer.food = 0
        def placeOrder(self, foodName, employee):
                print "Hi %s!" % employee.name
                print "I want %s please! " % foodName
                self.food = employee.takeOrder(foodName)
        def printFood(self):
                print self.food.foodName
                

class Employee:
        def __init__(self, name):
                Employee.name = name
        def takeOrder(self, foodName):
                print "%s coming up!" % foodName
                food = Food(foodName)
                return food
                
class Lunch:
        def __init__(self):
                self.employee = Employee('Dave')
                self.customer = Customer('Chris')
        def order(self, foodName):
                self.customer.placeOrder(foodName, self.employee)
        def result(self):
                print self.customer.name, "has",
self.customer.printFood()
                
if __name__ == '__main__':
        meal = Lunch()
        meal.order('spam')
        meal.result()
        
        
Basically, a Lunch creates a Customer and an Employee.
 When Lunch's order method is called, the Customer
places an order with placeOrder, which activates
takeOrder from the Employee.  takeOrder creates a Food
object using the foodName string that has been passed
down from Lunch's order method.  The Food object is
then passed to Customer.  I then run Lunch's result
method to see if Customer received the Food object.

[EMAIL PROTECTED]:/imports/home/cspears/Documents/Python/chap23/ex07>
python lunch.py
Hi Dave!
I want spam please!
spam coming up!
Chris has spam
None

This is almost correct.  Why does None appear?  This
is the only fly in the ointment.  I'm probably missing
something subtle.
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to