• python 父类方法中使用不同的子类中的不同类对象


     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是实例对象

     

  • 相关阅读:
    Windows 7系统安装MySQL5.5.21图解
    VB中DateDiff 函数解释
    curl命令具体解释
    SecureCRT 6.7.1 注冊机 和谐 破解 补丁 方法
    CSDN--十年
    SxsTrace工具用法
    Gamma校正及其OpenCV实现
    Linux--对文件夹下的配置文件批量改动IP
    sublime配置全攻略
    awk笔记
  • 原文地址:https://www.cnblogs.com/cfpl/p/12037419.html
Copyright © 2020-2023  润新知