第116课时: 类: 多态
多态 :
指 同一个方法 的调用 由于对象不同 可能会产生不同的行为。
关于多态要注意以下两点:
1 多态是方法的多态,属性没有多态
2 多态的存在有两个必要条件: 继承、方法重写
测试:
class man:
def eat(self):
print('饿了,吃饭了')
class chinese(man):
def eat(self):
print('用筷子')
class english(man):
def eat(self):
print('用叉子')
class indian(man):
def eat(self):
print('用左手吃奥利给')
def maneat(m):
if isinstance(m,man):
m.eat()
else:
print('不能吃饭')
a=chinese()
maneat(a)
b=man()
maneat(b)
用筷子
饿了,吃饭了
注意:
isinstance(a,b)是用来判断 a这个对象是否属于b这个类。 如果是,那么就返回真,不是就返回假
可以看到,man父类里面有 eat 方法 每个子类也有对应的 eat方法,单都不一样,有方法改写,这就是所谓的,多态。