python面向对象编程(1)——基本概念,术语,self,构造器

1  python面向对象命名规范

类名通常由大写字母打头。这是惯例标准。

数据值应该使用名词作为名字,方法使用动词加对象的方式,若使用混合记法,则方法名的第一个字母首字母小写,后面的单词的首字母大写。若使用骆驼记法,则方法名的组成单词之间用下划线连接。


2  相关术语

抽象/实现:建模,包括数据属性和数据的接口。

封装/接口:描述了对数据/信息进行隐藏的观念,它对数据属性提供接口和访问函数。

合成

派生/继承/集成结构

泛化和特化


3  实例属性 和 类属性

不同于C++和Java,Pthon的实例属性可以在实例创建后的任意时间进行,也可以在能偶访问实例的代码中进行。__init()__是设置这些属性的关键点之一。

  • 在构造器中首先设置实例属性
  • 默认参数提供默认的实例安装(对方法的参数设定默认值)

__init()__应当返回None。


类属性仅是与类相关的数据值,和实例属性不同,类属性和实例无关。这些属性就像静态成员那样被引用,即使在多次实例化中调用类,它们的值都保持不变。即,类和实例都是名字空间,类是类属性的名字空间,实例则是实例属性的名字空间。


若修改类属性,则会影响之后所有创建的实例的属性,但不会影响之前创建的实例。


任何一个方法定义中的第一个参数都是变量self,它表示调用此方法的实例对象。必须在方法声明中放上self,但可以在方法的使用中不使用self。

对于类方法而言,需要类而不是实例作为第一个参数,它是由解释器传给方法。


4  如果需要,每个子类最好定义它自己的构造器,不然,基类的构造器会被调用。

    如果子类重写了构造器,则如果仍想执行基类的构造器,就需要显示地在子类的构造器中写出。



原文地址:https://www.cnblogs.com/suzhou/p/3638979.html