两种封装方法

传统的读、写方法封装:


1.    //有一个类Name,为了操纵这个类中的数据(string name)我们定义了一个读方法和一个写方法。  
2. public class Name  
3.     {  
4. private string name;  
5. // 读方法  
6. public string GetName()  
7.         {  
8. return name;  
9.         }  
10. //写方法  
11. public void SetName(string n)  
12.         {  
13.             name = n;  
14.         }  
15. public static void Main(string[] args)  
16.         {  
17. new Name();  
18. "China");  
19. "The Name is :" + Country.GetName());  
20.         }  
21. }

    上面的方法保证了私有成员name不被外部成员所破坏,我们实例化一个对象Country来实现读和写数据。在上面的例子中,我们不能直接访问类Name的实例Country中的私有数据(string name),我们只能通过SetName和GetName两个方法来读和写数据。


   用属性来实现封装:


    属性是类的基本组成部分,通过对属性的读和写来保护类中的域。使用属性来实现封装比上一种方法更简单。

1. public class Name  
2. {  
3. private string name;  //需要封装的属性  
4. public string CountryName  
5.     {  
6. get{return name;}  
7. set{name=value;}  
8.     }  
9. }  
10. public class Name1  
11. {  
12. public static void Main(string[] args)  
13.     {  
14. new Name();  
15. "China";  
16. "The Country is :{0}",Country.CountryName);  
17.     }  
18. }

    上面的例子通过属性实现了stringname的封装,其中属性具有两种操作get和set。Get用来返回属性域的值;Set通过value这个变量来给属性域赋值。