目录
一、类属性、类方法和静态方法
还拿这个类举例
1、类属性
上图中的native_place就是类属性,因为它既定义在Student的类里又在各方法之外。
类属性的调用方法如下图所示:
可以直接通过类名然后用点的方式调用类属性。
然后橙色和蓝色的框里的操作主要是想说明,当我创建两个对象之后,我通过对象名调用类属性时,也是可以直接调用的,毕竟类属性相当于是类中的一个全局性的东西。然后当我把这全局性的东西更新之后(改成吉林之后),再通过对姓名调用类属性时,也随之进行了更新,变成了吉林。
访问内存图如下所示:(图里是把类属性从吉林改成了天津)
2、类方法
使用方法:
3、静态方法
使用方法:
二、动态绑定属性和方法
定义了一个新的类:
这个类里面定义了两个实例属性,还有一个实例方法。类外面还定义了两个对象。
内存访问如下图:
这张图片说明一个类可以有多个对象,每个对象的属性值可一样也可不一样。
1、动态绑定属性
突然我有一个需求:给stu1绑定一个性别,stu2不动。那么这时便轮到动态绑定登场了。
动态绑定如下:
绑定之后的内存图如下:
动态绑定相当于是一种局部的操作,我只为stu1进行了性别的绑定,stu2是没有性别这个属性的,因此当我要输出stu2的性别属性时,会报错的。
2、动态绑定方法
动态绑定方法之前我们需要在类外定义一个函数,然后再用对象名去用点调用这个函数就完成了,格式是:对象名.函数名=函数名
具体绑定过程如下图所示: