1 python面向对象命名规范
类名通常由大写字母打头。这是惯例标准。
数据值应该使用名词作为名字,方法使用动词加对象的方式,若使用混合记法,则方法名的第一个字母首字母小写,后面的单词的首字母大写。若使用骆驼记法,则方法名的组成单词之间用下划线连接。
2 相关术语
抽象/实现:建模,包括数据属性和数据的接口。
封装/接口:描述了对数据/信息进行隐藏的观念,它对数据属性提供接口和访问函数。
合成
派生/继承/集成结构
泛化和特化
3 实例属性 和 类属性
不同于C++和Java,Pthon的实例属性可以在实例创建后的任意时间进行,也可以在能偶访问实例的代码中进行。__init()__是设置这些属性的关键点之一。
- 在构造器中首先设置实例属性
- 默认参数提供默认的实例安装(对方法的参数设定默认值)
__init()__应当返回None。
类属性仅是与类相关的数据值,和实例属性不同,类属性和实例无关。这些属性就像静态成员那样被引用,即使在多次实例化中调用类,它们的值都保持不变。即,类和实例都是名字空间,类是类属性的名字空间,实例则是实例属性的名字空间。
若修改类属性,则会影响之后所有创建的实例的属性,但不会影响之前创建的实例。
任何一个方法定义中的第一个参数都是变量self,它表示调用此方法的实例对象。必须在方法声明中放上self,但可以在方法的使用中不使用self。
对于类方法而言,需要类而不是实例作为第一个参数,它是由解释器传给方法。
4 如果需要,每个子类最好定义它自己的构造器,不然,基类的构造器会被调用。
如果子类重写了构造器,则如果仍想执行基类的构造器,就需要显示地在子类的构造器中写出。