多态与多态性

Posted 游走在边缘的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多态与多态性相关的知识,希望对你有一定的参考价值。

多态

多态指的是一类事物的多种形态
如:动物有多种形态,狗,猪
文件有多种形态,文本文件,可执行文件

多态性:

多态性:指的是可以在不考虑对象的类型的情况下而直接使用对象

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‘)

class Cat(Animal):
    def talk(self):
        print(‘say miamiao‘)

#多态性:指的是可以在不考虑对象的类型的情况下而直接使用对象
peo1=People()
dog1=Dog()
pig1=Pig()
cat1=Cat()

使用多态性的好处:
1.增加了程序的灵活性
  以不变应万变,不论对象千变万化,使用者都是同一种形式去调用

2.增加了程序额可扩展性
 通过继承Animal类创建了一个新的类,使用者无需更改自己的代码,还是用cat(Animal)去调用

以上是关于多态与多态性的主要内容,如果未能解决你的问题,请参考以下文章

java中封装,继承,多态,接口学习总结

多态性和动态铸造

多态与抽象以及接口

C++的动态多态与静态多态

17. 动态多态性

面向对象:多态(多态性)封装(隐藏属性)绑定方法与非绑定方法