面向对象-多态与多态性

Posted hexiaorui123

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

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

def func(animal):
    animal.talk()

func(peo1)
func(dog1)
func(pig1)
func(cat1)

 



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

对面向对象c++中多态的理解

Python--面向对象之多态与多态性

Python 面向对象 组合-多态与多态性-封装-property

面向对象-多态与多态性

JAVA面向对象,继承、封装、多态

面向对象之------多态与多态性