- 封装,继承,多态是面向对象的三大特征。
- 在Python的面向对象中,如果定义的若干个对象都有同一个方法,(比如下面的say方法),那么无论他们是否继承同一个父类,他们都可以统一通过方法的调用(say方法的调用)实现。
"""
定义是的类型和运行时的类型不一样,就是多态的体现
Python崇尚鸭子类型
"""
class Cat(object):
def say(self):
print("i am Cat")
class Dog(object):
def say(self):
print("i am Dog")
class Duck(object):
def say(self):
print("i am Duck")
# 以上定义了三个类
animal_list = [Cat, Dog, Duck] # 这里将三个封装好的类分别作为animal_list的三个元素
for animal in animal_list: # animal_list是一个列表,是可迭代的对象
animal().say() # animal()是实例化对象的过程,然后分别调用 Cat, Dog, Duck的say方法