c#中不同类中变量的引用方法

(1)如果两个类没有继承关系,存取另一个类中变量的方法如下:

 1 public class A 
 2 {
 3     // 注意: 
 4     // Count是静态变量(static),称为类变量。类变量无需实例化即可使用
 5     public static int Count;
 6     // 注意:
 7     // x是不是静态变量,称为实例变量,只能通过实例存取。
 8     public int x;
 9 }
10 // 在类B中使用类A中的变量
11 public class B 
12 {
13     public void SomeMethod() 
14     {
15         //存取A.Count,无需实例化
16         A.Count = 100;
17         Console.WriteLine(A.Count);
18         //存取A中的实例变量x,必须先实例化A,然后才能存取
19         A a = new A();
20         a.x = 200;
21         Console.WriteLine(a.x);
22     }
23 }

请特别注意“类变量”和“实例变量”的差异!

(2)如果两个类有继承关系,存取基类中变量的方法如下

 1 public class A
 2 {
 3     private int x;
 4     protected int y;
 5     public int z;
 6     //……
 7 }
 8  
 9 public class B : A
10 {
11     public void SomeMethod()
12     {
13          //base.x是错误的!因为在基类中x是private
14          base.y = 100;
15          base.z = 200;
16          Console.WriteLine("{0}, {1}", base.y, base.z);    
17     }
18 }

 

posted @ 2018-01-06 11:50  折腾一哥  阅读(2131)  评论(0编辑  收藏  举报