C#中的get,set属性的作用
如果有一个小狗类,它四条腿,这是固定的属性不能改变,只能为只读属性。
这个时候可以用get 而不必set属性。
相反 ,如果有一个属性只需要设置而不需要读取则可以用set属性。
如果既要读又要写,则同时设置set和get属性即可。
set还可以设置合适的范围
例如
if( value<20 )
age=value;
这样可以保证合理的年龄 一般把类中的字段设为private,属性设置为public
public static class Rulers
为什么要设置static静态属性 可以不设置吗
静态变量和静态方法是不依赖与对象而依赖于类本身的一组模式
静态类主要是共享,静态内部成员必须是静态的,静态一般在加载程序的时候被构造。如果使用非静态类,需要在任何有可能访问到的情况前进行初始化设,并将它赋值给一个静态变量后才能使用instance。
(非静态类使用完成后系统会自动销毁释放,所以非静态相对来说安全)
(静态类是在程序结束后销毁,在销毁前一直驻留在内存中)
从内存的优化方面去考虑,因为静态和非静态的不同的地方,就是静态的从程序一启动就会一直占用内存。
非静态在实例化后才会占用内存。但每次实例化一个对象又会占用另外的内存。(每次调用都会实例化一次 相对来说占内存较大)