疯狂python学习--多态到底有多多态

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())

多态突出的一个多种方法可以分开设置,并在同一个空间中进行设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值