您的位置:首页 > 编程语言 > Python开发

Python入门笔记—第九章【面向对象之OOP(第三部分,多态&多态性)】

2018-10-08 14:16 381 查看

第九章:面向对象之OOP(第三部分,多态&多态性)

2.5 多态

- 指一类事物或对象在不同的情况下有不同的状态

    - 如:序列状态下有多种形态:列表,元祖,集合,字典等

    - 如:动物有多种形态:人类,猪类,狗类等

- 多态不是语法,是一种设计思想

代码实例:

[code]#多态
class Animal():
def run(self):

pass
class Person(Animal):
def run(self):
print("Walking")

class Dog(Animal):
def run(self):
print("Walking")

class Pig(Animal):
def run(self):
print("Walking")

per = Person()
dog = Dog()
pig = Pig()

per.run()
dog.run()
pig.run()

2.6 多态性

- 向不同的对象发送同一条消息(函数),不同的对象在接收时会产生不同的行为,即:同一种调用方式,不同的执行结果

代码实例:

[code]#多态性
class Animal():
def run(self):

pass
class Person(Animal):              #人类
def talk(self):
print("Say Hello")

class Dog(Animal):                 #狗类
def talk(self):
print("Say Wangwang")

class Pig(Animal):                 #猪类
def talk(self):
print("Say Honghong")

def talk(animal):            #此处只定义了一个函数
animal.talk()

per = Person()
dog = Dog()
pig = Pig()

talk(per)                     #当使用同一种调用方式时,出现不同的结果,称之为多态性
talk(dog)
talk(pig)

结果:

Say Hello
Say Wangwang
Say Honghong

2.6.1 使用多态性的好处

- 增加了程序的灵活性。不论对象千变万化,都是使用同一个方法(函数)调用

- 增加的程序的可扩展性。使用Animal继承的一个新类,无需去更改原本的代码,还是使用函数talk()去调用

2.7 多态和多态性的区别

- 多态:从定义角度上看

- 多态性:从调用(执行)角度上看

 

 

 

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐