python 父类方法中使用不同的子类中的不同类对象
2024-09-29 21:26:13
# 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是实例对象
最新文章
- 使用markdown
- laravel之缓存配置文件
- 深入浅出设计模式——组合模式(Composite Pattern)
- 丢失Ref Edit Control的解决方法
- java 计算 文件 md5
- 减少JAVA GC
- PostgreSQL 9.3 Streaming Replication 状态监控
- Struts2第一天
- 软件设计模式详解:OCP原则
- HDU-2502-月之数
- android.util.Log常用方法
- JS第二弹:用Jquery组装html标签,输出到页面
- ReactiveX 学习笔记(23)RxCpp
- 【滚动条】Selenium+python自动化-JS处理滚动条
- mysql的内存使用
- Linux之查看CPU
- Spring Data Jpa 使用@Query标注自定义查询语句
- linux perf and tracer ,java Flame Graph
- springboot 日期类型处理
- Jenkins上War文件部署实战
热门文章
- katalon studio升级到6.3.3版本后如何生成测试报告
- SAP MM 采购信息记录中价格单位转换因子的修改
- elasticsearch ik同义词
- swift之NSDate
- Python使用DB-API操作MySQL数据库
- [20191002]函数dump的bug.txt
- Visual Studio Code 配置 EasyLESS,如果想用less,但又不想在组件中直接添加 style 时可以参考
- Python的 Datetime 、 Logging 模块
- Shell命令-用户用户组管理之passwd、chage
- pyhton【flask接口开发】