面向对象
多态
- 在不同情况下用一个函数名启用不用方法,即同一个方法,不同的作用。体现灵活性。
- 对象调用同一个方法会出现不同的表现形式(结果),多态只关心对象是否有该方法(功能), 不关心对象的类型。
- 多态强调的是要有指定的功能,不关心对象的类型。
# 鸭子类
class Duck(object):
def fly(self):
print("鸭子笨笨的飞起来了")
# 天鹅类
class Swan(object):
def fly(self):
print("天鹅翱翔的飞")
# 飞机类
class Plane(object):
def fly(self):
print("飞机呼呼的飞起来了")
# 实现飞的功能, 根据不同参数实现不同飞的效果
def fly(obj):
# 使用指定对象,调用飞的功能方法
# 多态:在方法内部,不关心obj的类型,只关心obj对象是否具有指定的功能方法
# 多态的好处,代码更加通用,多态代码不需要进行修改
obj.fly()
# 通过一个函数,启用的功能是不一样的
duck = Duck()
fly(duck)
swan = Swan()
fly(swan)
重写
- 子类重写父类方法的目的: 父类的功能方法无法满足子类的需求,那么子类就可以重写父类的方法。
- 子类重写父类方法的注意点:
- 要有继承关系
- 子类的方法名要和父类的方法名相同案例:在多继承的案例种就已经使用了重写