1 # coding:utf-8 2 3 4 class Animal(object): 5 def __init__(self): 6 self._name = None 7 self._f = None 8 9 def eat(self): 10 print("%s吃%s" % (self._n ...

1 # coding:utf-8 2 3 4 class Animal(object): 5 def __init__(self): 6 self._name = None 7 self._f = None 8 9 def eat(self): 10 print("%s吃%s" % (self._name, self._f().food())) 11 12 13 class Dog(Animal): 14 def __init__(self): 15 Animal.__init__(self) 16 self._f = DogFood 17 self._name = "狗" 18 19 20 class DogFood(): 21 def food(self): 22 return "狗糧" 23 24 25 class Cat(Animal): 26 def __init__(self): 27 Animal.__init__(self) 28 self._name = "貓" 29 self._f = CatFood 30 31 32 class CatFood(): 33 def food(self): 34 return "貓糧" 35 36 37 dog = Dog() 38 dog.eat() 39 cat = Cat() 40 cat.eat()View Code
狗吃狗糧
貓吃貓糧

1 # coding:utf-8 2 3 4 class CatFood(): 5 def food(self, food_name): 6 self.food_name = food_name 7 8 cf = CatFood 9 10 cf1 = CatFood() 11 cf1.food("魚") 12 cf2 = CatFood() 13 cf2.food("粥") 14 15 print(cf1.food_name) 16 print(cf2.food_name)View Code
魚
粥

1 # coding:utf-8 2 3 4 class CatFood(): 5 def food(self, food_name): 6 self.food_name = food_name 7 8 cf = CatFood 9 10 cf1 = CatFood() 11 cf1.food("魚") 12 cf2 = CatFood() 13 cf2.food("粥") 14 15 print(CatFood) 16 print(cf) 17 print(cf1)View Code
<class '__main__.CatFood'>
<class '__main__.CatFood'>
<__main__.CatFood object at 0x000000000279B320>
cf CatFood 是類對象
cf1是實例對象