码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象-多态与多态性

时间:2018-12-31 10:22:44      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:nbsp   abc   面向对象   style   span   运算   meta   sel   bsp   

多态是指的多种形态;比如水的多种形态:水,冰
多态性:在不考虑实例类型情况下使用实例,多态性分为静态多态性和动态多态性
静态多态性:如任何类型都可以用运算符+进行运算
多态:同一类事物的多种形态
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)

 

面向对象-多态与多态性

标签:nbsp   abc   面向对象   style   span   运算   meta   sel   bsp   

原文地址:https://www.cnblogs.com/hexiaorui123/p/10201412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!