zoukankan      html  css  js  c++  java
  • Python笔记_第三篇_面向对象_7.多态

    1. 多态的概念

      多态:一种事物的多种形态。其表现形式就是连续的继承关系。

      还以人喂食动物的例子。最终目标是人可以喂食任何一种动物。如果人要喂食100多种动物,难道要写100中方法吗?多态就是把属性和方法进行连续的继承方式 ,把属性和方法在不同的位置进行传导。

      我们一一个图示为例子:

      原来的继承方式是这样:

      多态作为一种传导,变成为这样形式:

      举例代码如下:

    # 定义一个人类,可以喂猫和老鼠吃东西
    # 思考:人要喂100种动物,难道要写100种方法吗?
    # tom和jerry都继承自动物
    class Animal(object):  # 动物类
        def __init__(self,name):
            self.name = name
    
        def eat(self):
            print(self.name + "")
    
    class Cat(Animal):  # 猫类
        def __init__(self,name):
            super(Cat,self).__init__(name)
    
    
    class Mouse(Animal): # 老鼠类
        def __init__(self, name):
            super(Mouse, self).__init__(name)
    
    class Person(object):
        def feedAnimal(self,ani):  # 直接继承自Animal就实现了多态。
            print("给你食物")
            ani.eat()
    
    
    Tom = Cat("Tom")
    Jerry = Mouse("Jerry")
    
    per = Person()
    per.feedAnimal(Tom)

    #

    300 100
    play
    eat
    func

    
    
  • 相关阅读:
    C++用于修饰的keyword
    UVa 884
    yii 使用 mongodb 小工具 YiiMongoDbSuite
    三种网络协议握手
    学习设计模式的前世今生
    B二分法
    链接链接新手变化需要注意哪些问题
    插值与拟合 课件链接
    UVa 740
    疯狂暑期学习计划~~~
  • 原文地址:https://www.cnblogs.com/noah0532/p/10867190.html
Copyright © 2011-2022 走看看