zoukankan      html  css  js  c++  java
  • Python多态和多态性

    引用于:http://www.cnblogs.com/linhaifeng/articles/7340687.html

    Python中多态是指一类事物有多种形态。比如动物有多种形态,人,狗,猫,等等。

    import abc
    class Animal(metaclass=abc.ABCMeta): #同一类事物:动物
        @abc.abstractmethod
        def talk(self):
            pass
    
    class People(Animal): #动物的形态之一:人
        def talk(self):
            print('say hello')
    
    class Dog(Animal): #动物的形态之二:狗
        def talk(self):
            print('say wangwang')
    
    class Pig(Animal): #动物的形态之三:猪
        def talk(self):
            print('say aoao')

    Python的多态性是指:在不考虑实例类型的情况下使用实例,也就是说不同类型的实例有 相同的调用方法。比如人,猫,狗,等等只要是继承了animal就可以直接调用它的talk()方法。

    peo=People()
    dog=Dog()
    pig=Pig()
    
    #peo、dog、pig都是动物,只要是动物肯定有talk方法
    #于是我们可以不用考虑它们三者的具体是什么类型,而直接使用
    peo.talk()
    dog.talk()
    pig.talk()
    
    #更进一步,我们可以定义一个统一的接口来使用
    def func(obj):
        obj.talk()

    使用多态性的好处:

    1.增加了程序的灵活性
    
      以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)
    
    2.增加了程序额可扩展性
    
      通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用
  • 相关阅读:
    坐火车/长途汽车去
    图书管理系统设计
    电梯演说模板练习
    敏捷开发
    团队形式
    android app demo
    classic code review
    code review
    阅读思考
    单元测试
  • 原文地址:https://www.cnblogs.com/linshuhui/p/9025821.html
Copyright © 2011-2022 走看看