2018-12-20
阅读量:
686
python编程里的多态是什么概念
术语多态(polymorphism)源自希腊语,意思是“有多种形态”。这大致意味着即便你不知
道变量指向的是哪种对象,也能够对其执行操作,且操作的行为将随对象所属的类型(类)而异。
例如,假设你要为一个销售食品的电子商务网站创建在线支付系统,程序将接收来自系统另一部
分(或之后设计的类似系统)的购物车。因此你只需计算总价并从信用卡扣除费用即可。
你首先想到的可能是,指定程序收到商品时必须如何表示。例如,你可能要求用元组表示收
到的商品,如下所示:
('SPAM', 2.50)
如果你只需要描述性标签和价格,这样的表示很好,但不太灵活。假设该网站新增了拍卖服
务,即不断降低商品的价格,直到有人购买为止。在这种情况下,如果能够允许用户像下面这样
做就好了:将商品放入购物车并进入结算页面(你所开发系统的一部分),等到价格合适时再单
击“支付”按钮。
然而,使用简单的元组表示商品无法做到这一点。要做到这一点,表示商品的对象必须在你
编写的代码询问价格时通过网络检查其当前价格,也就是说不能像在元组中那样固定价格。要解
决这个问题,可创建一个函数。
# 不要像下面这样做:
def get_price(object):
if isinstance(object, tuple):
return object[1]
else:
return magic_network_method(object)






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论