Chinaunix首页 | 论坛 | 博客
  • 博客访问: 481897
  • 博文数量: 72
  • 博客积分: 1851
  • 博客等级: 上尉
  • 技术积分: 1464
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-16 17:50
文章分类

全部博文(72)

文章存档

2013年(1)

2012年(17)

2011年(51)

2010年(3)

发布时间:2012-12-29 16:03:16

python支持多继承后,但能否支持动态继承性质?在程序运行过程中,重定义类的继承,python是支持这种动态继承性质的。这也就是python中 的mixin,在定义类过程中改变类的继承顺序,继承类。当某个模块不能修改时,通过mixin方式可以动态添加该类的方法,动态改变类的原有继承体系。 弄懂了多继承,mixin特性就简单多了。 但需要注意mixin后的具体继承体系的改变。#!/usr/bin/env pythonimport typesdef MixIn(pyClass,mixInClass,makeAncestor=0):    if mak......【阅读全文】

阅读(6382) | 评论(0) | 转发(0)

发布时间:2012-12-28 20:46:01

多继承在针对派生类中的同名函数时,python 需要对其进行线性化(C3 Linearization),将继承图关系线性化。通过线性化,再依次查找类方法,直至找到该方法为止。线性化算法是python多继承的核心部分。线性化过程中,必须满足两个性质:单调性 如果C从C'直接继承属性P(如图1),(C != C'),C'所有的父类(包含C')均在线性化中都是C的子列表。这样的话,C的线性化列表不用遍历C的所有继承体系,直接通过C的直接继承父类线性化列表获得(通过归并父类列表获得)。一致性 直接父类的顺序通过用户来声明,父类线性化的顺序为从左到右。在进行线性化归并过程中,一致性主要保证类......【阅读全文】

阅读(5235) | 评论(0) | 转发(1)

发布时间:2012-02-26 22:34:35

......【阅读全文】

阅读(1646) | 评论(0) | 转发(0)

发布时间:2011-12-06 11:24:40

......【阅读全文】

阅读(2636) | 评论(0) | 转发(0)

发布时间:2011-11-29 10:12:26

......【阅读全文】

阅读(10163) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册