多态

指同一个方法调用由于对象不同可能会产生不同的行为。

关于多态要注意以下几点:

  1. 多态是方法的多态,属性没有多态
  2. 多态的存在有两个必要条件:继承、方法重写
 1 class Man:
 2     def eat(self):
 3         print('饿了,准备吃饭')
 4 
 5 class Chinese(Man):
 6     def eat(self):
 7         print('中国人用筷子吃饭')
 8 
 9 class English(Man):
10     def eat(self):
11         print('英国人用刀叉吃饭')
12 
13 class India(Man):
14     def eat(self):
15         print('印度人用右手吃饭')
16 
17 def manEat(m):
18     if isinstance(m,Man):
19         m.eat()
20     else:
21         print('不能吃饭')
22 manEat(Chinese())
23 manEat(India())