以前没有属性这个说法的.后来引入属性是因为在很多时候直接使用字段不安全.然后属性可以控制是否- class Test
- {
- //private关键字的意思就是说这个下面的变量是"不能够"被别的类访问的
- //那么为了保护这个变量,如果需要被外部读取,或者只是改变的话,这样使用属性来进行保护下改变.
- //首先我们定义这样一个private变量
- private int i = 1234;
- //然后这个变量只能被读取,不会被赋值.使用属性来进行传值.这样这个变量就不会直接暴露在用户面前.并且不会被改变.
- public int age
- {
- //使用get让外面读取这个属性,以为这个属性是在这个类的内部,所有可以访问这个私有变量.
- //当访问这个属性的时候,就返回i的值
- get
- {
- return i;
- }
- //使用set可以改变这个变量的值.
- set
- {
- i = value;
- Console.WriteLine("使用属性改变了i的值:"+i.ToString());
- }
-
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- //首先将这个类实例化一个对象
- Test test = new Test();
- //然后将这个属性打印出来,这个时候看清楚了,我们读取的是这个属性,不是这个变量,私有变量在类外面是不应该被访问也是不可能被访问的.
- Console.WriteLine("取得的值是:"+test.age.ToString());
- //如下写法就是错误的,编译就会报错
- //Console.WriteLine(test.i);
- Console.ReadKey();
- }
- }
复制代码 |