多态
多态 polymorphic
什么是多态:
字面意思: 多种状态
多态是指在有继承/派生关系的类中,调用基类对象的方法,实际能调用子类的覆盖方法的现象叫多态
状态:
静态(编译时状态)
动态(运行时状态)
说明:
多态调用方法与对象相关,不与类相关
Python的全部对象都只有"运行时状态(动态)", 没有"C++语言"里的"编译时状态(静态)"
class Shape: def draw(self): print("Shape.draw被调用") class Point(Shape): def draw(self): print("正在画一个点") class Circle(Point): def draw(self): print("正在画一个圆") def my_draw(s): s.draw() #<<<--- 此处显示多态中的"动态" s1 = Circle() s2 = Point() my_draw(s1) #通过函数来传递类创建的对象,从而调用相对应的方法 my_draw(s2) 输出结果; tarena@tedu:~/zengsf/827$ python3 exercise827.py 正在画一个圆 正在画一个点