熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

談談C#的私有成員的一個有趣的現象

2013-11-13 10:19:43  來源: .NET編程 

  大家都知道一個類的私有成員只能在他的內部訪問!

  但是不知道大家注意到沒有實際上在C#中一個類的實例是可以訪問同一個類的另外一個實例的私有成員的

  請看這段簡單的代碼
 

  public class MyClass
    {
        private int i = ;
        
        public void Function()
        {
            MyClass a = new MyClass();
            ConsoleWriteLine( ai);  //這裡成功訪問了另外的一個實例a的私有實例字段
 

  }

  }

  大家也可以自己寫一段類似的代碼來測試一下的確是可以訪問另外一個實例的私有成員!

  為什麼呢 因為C#就是一開始就是這樣設計的實際上這個設計在某種程度上破壞了對象的封裝性其他的面向對象的語言可能就沒有做這樣的設計了
 

  希望大家可以注意到這個問題為了保證對象良好的封裝性最好不要這樣訪問啊!


From:http://tw.wingwit.com/Article/program/net/201311/13250.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.