1) 静态变量的作用就是给这个变量增长了生命周期,它的生命周期和全局变量是一样的。当变量为局部静态变量的时候,它的作用域为局部作用域,生命周期为全局生命周期。静态变量仅限制在当前类之内,外部文件(变量对象)不可以访问静态变量。
a) public ,protected, private是为了限制类中属性和方法的的作用域而设置的。
b) 类class的前身是结构体struct,结构体struct的作用就是描述对同一类事物的属性进行组合(composite),这就是计算机中的分类思想。
i. 结构体演变为类之后,为了支持继承思想,就有了protected和public关键字。凡是用protected关键字修饰的类属性的作用域延伸到子类中。
ii. private关键字修饰的类属性的作用域是限制在当前类之中的。
iii. public 关键字修饰的类属性的作用域最大,无论是类内部文件,还是类外部文件都可以访问类中的属性字段。
iv. 正式因为有了继承思想,像有些类的属性需要进行作用域限制,使得其作用域限制在本类中。有些类的属性是不需要进行限制的,所以需要扩大属性的作用域到子类。
v. 有了以上的限制之后,当外部文件需要访问类中的数据时,类应该提供一个访问类属性字段的访问器子程序接口,这个访问器子程序的作用域应该扩大到类的外部文件中。
vi. 所以推荐类的属性私有化,即用private描述。子类需要访问父类的属性或者方法时,可以设置该属性或者方法为protected权限。另外统一给类的私有属性提供公共的访问器子程序接口,从而使类的外部文件可以自由地对类对象的属性字段值进行存取。
vii. 我们可以发现这种分类思想和继承思想都是为了使程序可读性和可塑性提高,减少程序类与类之间的耦合度。类与类之间可以用继承和接口进行通信。