python类的多态,通俗易懂的多态世界观实例
什么是python类的多态
python的多态,可以为不同的类实例,或者说不同的数据处理方式,提供统一的接口。
多态的作用
使代码更简洁、高效,想想,一个接口可以实现好多种不同的程序功能,能不高效吗!
要认识,或理解python类的多态,个人认为,我们应该注意以下两点:
- python类的多态是在类的继承基础上发展而来的!换句话说,多态是python类继承的一种形式,也就是说类的继承原理和机制在多态上也是适用的。
- python类的多态形式主要表现在类方法上。
用比喻的方式理解python类的多态
比如,同一个苹果(统一的接口)在孩子的眼里(类实例)可能就是食物(数据处理的方式),在摄影师的眼里可能是个非常不错的素材,在商人的眼里可能就是一个商机了,等等。这就是python的多态!
python多态实例
下面我们将这个比喻抽象成python代码,进一步来理解python的多态!
class WorldOutlook():
def world_outlook(self):
print('苹果是一种植物果实')
class child(WorldOutlook):
def world_outlook(self):
print('这是苹果,一种好吃的东西!')
class photographer(WorldOutlook):
def world_outlook(self):
print('这个苹果真是一个不错的摄影素材!')
class businessman(WorldOutlook):
def world_outlook(self):
print('这苹果卖相不错,应该多进一点货来卖!')
c = child()
p = photographer()
b = businessman()
c.world_outlook()
p.world_outlook()
b.world_outlook()
————————————————————————————————————
代码输出:
这是苹果,一种好吃的东西!
这个苹果真是一个不错的摄影素材!
这苹果卖相不错,应该多进一点货来卖!
代码解析
如上代码,统一的world_outlook()接口,实现了不同的数据(函数)处理模式。这是不是有一种很熟悉的感觉,对的,就是类的继承,也完全符合类由内而外、先到先得的继承机制。
python的多态就先介绍到这里,下一章节,我们将继续介绍python类的成员保护和访问限制等内容。