两种封装方法
传统的读、写方法封装:
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这个变量来给属性域赋值。