python语言特点有三种,不过其他的语言也有啦,封装、多态、继承。其中封装很好理解就是将程序装在一个黑盒子里面,只需要告诉你传入什么东西以及可以给你什么结果就好。继承是涉及__init__构造方法的内容。但是:多态,可以理解为将方法分布开来,通过更多的方式使用同一个方法。
多态,顾名思义将同一个方法用很多个状态表述,书中使用的是draw画画这个状态,。
先创建一个人基础的画画类
claas Canvas:
def draw_pic(self,shape):
print("star draw the picture")
shape.draw(self)
从代码上看,这个Canvas类中需要传入一个shape参数,而这个shape是一个类,可以调用自身的draw方法,以实现各种各样的draw的功能。
class Rectangle:
def draw(self, canvas):
print("在%s 上绘制矩形", % canvas)
class Tritangle:
def draw(self, canvas):
print("在%s 上绘制三角形", % canvas)
class Circle:
def draw(self, canvas):
print("在%s 上绘制圆型", % canvas)
直接调用每个绘制类的draw方法即可。
c = Canvas()
c.draw_pic(Rectangle())
c.draw_pic(Triangle())
c.draw_pic(Circle())
多态突出的一个多种方法可以分开设置,并在同一个空间中进行设置。