16. 属性

属性:

  本质就是一个“特殊”的方法。采用 PascalCase 命名方式。

1、什么是属性:

  在 C# 中,我们可以非常自由的、毫无限制的访问公有字段,但在一些场合中,我们可能希望限制给字段赋予某个范围的值、或是要求字段只能读或只能写,或是在改变字段时能改变对象的其他一些状态,这些单靠字段是无法做到的,于是就有了属性,属性中包含两个块:set 和 get。  

2、属性的作用:

  保护字段,对字段的取值与赋值进行限定。

3、属性的格式:

  属性往往被声明在字段的下方,并且将字段私有化。

 1         //例1:创建字段生成属性
 2         public string _name;
 3         public string _gender;
 4 
 5         //声明属性,往往通过属性访问字段
 6         public string Gender
 7         {
 8             get //读。可用于对取值的限定,返回属性值
 9             {                
10                 return _gender;
11             }
12             set //写。可用于对赋值的限定,分配新值
13             {                
14                 _gender = value;
15             }
16         }

 

 1     //例2:对字段的取值与赋值进行限定
 2     class Program
 3     {
 4         private int _Age;//年龄 
 5         
 6         //属性
 7         public int Age
 8         {
 9             get
10              if (value >0 && value <100)
11                {
12                 return _Age;
13             }
14 
15             set
16             {
17                 {
18                     _Age = value;
19                 }
20                 else
21                 {
22                     Age = 18;
23                 }
24             }
25         }                
26         //“构造函数”初始化字段
27         public Program()
28         {
29             _Age = 20;
30         }
31 
32         //显示结果
33         public void DisplayInfo()
34         {
35             Console.WriteLine("Age ={0}",_Age);
36         }
37         static void Main(string[] args)
38         {
39             Program p = new Program();
40             p.Age = 25;
41             p.DisplayInfo();
42             Console.ReadKey();
43         }
44     }

 

posted @ 2017-10-05 10:16  LiuChangwei  阅读(347)  评论(0编辑  收藏  举报