• python 面向对象编程的三大特征之一 多态


    多态就是具有多种形态,即便不知道一个变量所引用的对象到底是什么类型,仍然可以通过这个变量调用方法。

    在运行过程中根据变量所引用的对象的类型,动态决定调用哪个对象中的方法。
    如果子类中不存在指定名称的方法,回到父类中查找,如果父类中找到了,则调用父类中的方法。


    多态的作用是什么呢?

    我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。
    而多态则是为了实现另一个目的——接口重用!


    
    class Animal(object):
        def __init__(self, name):
            self.name = name
    
        def talk(self):
            print("Animal talk! ")
    
    
    class Cat(Animal):  # 继承 Animal
        def talk(self):
            print("%s: 喵喵喵!" % self.name)
    
    
    class Dog(Animal):  # 继承 Animal
        def talk(self):
            print("%s: 汪汪汪!" % self.name)
    
    
    def func(parent):  # 定义一个函数 func , 但不知道变量 parent 的类型。一个接口,多种形态
        parent.talk()
    
    
    c = Cat("毛毛")
    d = Dog("憨憨")
    
    func(c)  # 毛毛: 喵喵喵!
    func(d)  # 憨憨: 汪汪汪!
    

    编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,

    把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话,

    对不同类的对象发出相同的消息将会有不同的行为。

  • 相关阅读:
    存储过程
    数据库中的锁
    数据库事务
    三大范式
    IOC(一)
    rabbitmq部署
    配置SQLServer2012,允许远程连接
    6种常见的Git错误以及解决的办法
    灵活使用Win+R快捷键提高工作效率
    sql 创建视图常用的几种sql函数
  • 原文地址:https://www.cnblogs.com/wwho/p/15635866.html
Copyright © 2020-2023  润新知