谈谈C#的私有成员的一个有趣的现象!
生活随笔
收集整理的這篇文章主要介紹了
谈谈C#的私有成员的一个有趣的现象!
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
大家都知道,一個類的私有成員只能在他的內(nèi)部訪問!
但是不知道大家注意到?jīng)]有,實際上在C#中一個類的實例是可以訪問同一個類的另外一個實例的私有成員的。
請看這段簡單的代碼
public class MyClass
??? {
??????? private int i = 0;
?????? ?
??????? public void Function()
??????? {
??????????? MyClass a = new MyClass();
??????????? Console.WriteLine( a.i);? //這里成功訪問了另外的一個實例a的私有實例字段
??????? }
? ?? }
大家也可以自己寫一段類似的代碼來測試一下,的確是可以訪問另外一個實例的私有成員!
為什么呢?因為C#就是一開始就是這樣設計的。實際上這個設計在某種程度上破壞了對象的封裝性,其他的面向?qū)ο蟮恼Z言可能就沒有做這樣的設計了。
希望大家可以注意到這個問題,為了保證對象良好的封裝性,最好不要這樣訪問啊!
轉(zhuǎn)載于:https://www.cnblogs.com/xuefeng1982/archive/2009/02/18/1393166.html
總結(jié)
以上是生活随笔為你收集整理的谈谈C#的私有成员的一个有趣的现象!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做试管婴儿要住院多久?
- 下一篇: 基于C#.NET的--Windows进程