linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

简介

从具体的程序观点来看,类是python的程序组成单元,就像函数和模块一样;类是封装逻辑和数据的另一种形式。

python中的oop需要特别考虑:

1.多重实例,类基本就是产生对象的工厂;(多对象产生)

2.通过继承进行定制,类可以建立命名空间的层次结构;(命名空间继承)

3.运算符重载,python提供了一些可以由类使用的钩子,从而能够中断并实现任何的内置类型运算;(运算符重载)

本质

python类的本质:

1.class语句创建类对象并将其赋值给变量名;

2.class语句内的赋值语句会创建类的属性;

3.类属性提供对象的状态和行为;

实例对象的本质:

1.像函数一样调用类对象会创建新的实例对象;

2.每个实例对象继承类的属性并获得自己的命名空间;

3.在方法内对self属性做赋值运算都回产生每个实例自己的属性;

注:特别区分类属性和对象属性

属性

1.实例属性是由对方法内的self属性进行赋值运算生成的;

2.类属性是通过class语句内的语句(赋值语句)而生成的;

3.超类的链接是通过class语句首行的括号内列出类而生成的;

运算符重载

命名空间

无点号运算的变量名与作用域相对应;

点号的属性名使用的是对象的命名空间;

有些作用域会对对象的命名空间进行初始化;

新式类

钻石继承搜索方式变动;(深度优先-》广度优先)

明确解决冲突;

静态和类方法,slots、类内容属性

posted on 2012-04-11 15:36  linyawen  阅读(302)  评论(0编辑  收藏  举报