# coding:utf-8

 class Animal(object):
def __init__(self):
self._name = None
self._f = None def eat(self):
print("%s吃%s" % (self._name, self._f().food())) class Dog(Animal):
def __init__(self):
Animal.__init__(self)
self._f = DogFood
self._name = "狗" class DogFood():
def food(self):
return "狗粮" class Cat(Animal):
def __init__(self):
Animal.__init__(self)
self._name = "猫"
self._f = CatFood class CatFood():
def food(self):
return "猫粮" dog = Dog()
dog.eat()
cat = Cat()
cat.eat()

狗吃狗粮
猫吃猫粮

 # coding:utf-8

 class CatFood():
def food(self, food_name):
self.food_name = food_name cf = CatFood cf1 = CatFood()
cf1.food("鱼")
cf2 = CatFood()
cf2.food("粥") print(cf1.food_name)
print(cf2.food_name)


 # coding:utf-8

 class CatFood():
def food(self, food_name):
self.food_name = food_name cf = CatFood cf1 = CatFood()
cf1.food("鱼")
cf2 = CatFood()
cf2.food("粥") print(CatFood)
print(cf)
print(cf1)

<class '__main__.CatFood'>
<class '__main__.CatFood'>
<__main__.CatFood object at 0x000000000279B320>

cf CatFood 是类对象

cf1是实例对象

最新文章

  1. 使用markdown
  2. laravel之缓存配置文件
  3. 深入浅出设计模式——组合模式(Composite Pattern)
  4. 丢失Ref Edit Control的解决方法
  5. java 计算 文件 md5
  6. 减少JAVA GC
  7. PostgreSQL 9.3 Streaming Replication 状态监控
  8. Struts2第一天
  9. 软件设计模式详解:OCP原则
  10. HDU-2502-月之数
  11. android.util.Log常用方法
  12. JS第二弹:用Jquery组装html标签,输出到页面
  13. ReactiveX 学习笔记(23)RxCpp
  14. 【滚动条】Selenium+python自动化-JS处理滚动条
  15. mysql的内存使用
  16. Linux之查看CPU
  17. Spring Data Jpa 使用@Query标注自定义查询语句
  18. linux perf and tracer ,java Flame Graph
  19. springboot 日期类型处理
  20. Jenkins上War文件部署实战

热门文章

  1. katalon studio升级到6.3.3版本后如何生成测试报告
  2. SAP MM 采购信息记录中价格单位转换因子的修改
  3. elasticsearch ik同义词
  4. swift之NSDate
  5. Python使用DB-API操作MySQL数据库
  6. [20191002]函数dump的bug.txt
  7. Visual Studio Code 配置 EasyLESS,如果想用less,但又不想在组件中直接添加 style 时可以参考
  8. Python的 Datetime 、 Logging 模块
  9. Shell命令-用户用户组管理之passwd、chage
  10. pyhton【flask接口开发】