python多态的理解_解释多态性

你得到的答案是好的,并解释什么是多态性。我认为这也有助于理解它有用的一些原因。

在某些缺乏多态性的语言中,您会发现自己处于这样一种情况:您希望对不同类型的对象执行概念上相同的操作,而在这种情况下,必须为每种类型实现不同的操作。例如,在类似python的语法中:def dosomething(thing):

if type(thing)==suchandsuch:

#do some stuff

elif type(thing)==somesuch:

#do some other stuff

elif type(thing)==nonesuch:

#yet more stuff

这有点问题。最大的问题是它会导致非常紧密的耦合和大量的重复。您很可能在代码中的许多地方都有相同的测试集。如果添加必须支持此操作的新类型,会发生什么情况?你必须找到每一个你有这种条件的地方,并添加一个新的分支。当然,你必须有权访问所有相关的源代码才能进行这些更改。在这种条件逻辑之上是冗长的,在实际情况下很难理解。

最好能写:thing.dosomething()

除了短得多之外,这会导致耦合更松散。这个示例/解释是针对传统的OO语言(如Python)编写的。比如说,函数式语言的细节有点不同。但是多态性的许多一般用途仍然相同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值