多态

多态 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
正在画一个圆
正在画一个点
原文地址:https://www.cnblogs.com/zengsf/p/9551083.html