1,定义
类属性:又叫做静态属性,即被static修饰。
对象属性:又叫实例属性,非静态属性。
如果一个属性声明成类属性,那么所以的对象,都共享这么一个值。
给所以英雄设置一个类属性叫做“版权(copyright)”,那么无论有多少具体的英雄,所以的英雄的版权都属于Riot Games公司。
2,访问类属性
1),对象.类属性
temoo.copyright;
2),类.类属性
Hero.copyright;
这两种方式都可以访问类属性,访问即修改和获取,但建议使用第二种 类.类属性 的方式进行,这样更符合语义上的理解。
3,什么时候用对象属性,什么时候用类属性
如果一个属性,每一个英雄都不一样,比如name,这样的属性就应该设计为对象属性,因为它是 跟着对象走的 ,每个对象的name都是不一样的。
如果一个属性,所有的英雄都共享,都是一样的,那么就应该设计为类属性,比如说英雄的血量上限都是9999,不会因为英雄不同而取不同的值。这样的属性,就适合设计为类属性。