python面向对象之多态
作者:YXN-python 阅读量:23 发布日期:2023-11-23
多态(Polymorphism)是一种允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。在Python中,多态主要通过鸭子类型(duck typing)和继承来实现。
鸭子类型
def quack_and_fly(bird):
bird.quack()
bird.fly()
class Duck:
def quack(self):
print("鸭子嘎嘎叫")
def fly(self):
print("鸭子飞")
class Person:
def quack(self):
print("人叫")
def fly(self):
print("人不能飞")
duck = Duck()
person = Person()
quack_and_fly(duck)
quack_and_fly(person)
继承
# 汽车:奔驰、理想、奥拓
class Car:
def run(self):
print('汽车在跑', end=' ')
class Benz(Car):
def run(self):
super().run()
print('加98号油')
class Lx(Car):
def run(self):
super().run()
print('充电')
class Auto(Car):
def run(self):
super().run()
print('加92号油')
car1 = Benz()
car2 = Lx()
car3 = Auto()
car1.run() # 汽车在跑 加98号油
car2.run() # 汽车在跑 充电
car3.run() # 汽车在跑 加92号油
YXN-python
2023-11-23