class Demo { int a; int b; int DoSomething() { return a + b; } } class DemoTest { static void Main() { Demo d = new Demo(); d.a = 11; d.b = 22; System.Console.WriteLine(d.DoSomething()); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:class06.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */
這樣一來便無法通過編譯
主因是我們在 DemoTest 中宣告建立 Demo ,然後使用 Demo 的成員,編譯器提供的訊息就是 DemoTest 因 Demo 成員的保護層級,因而無法存取。
C# 的權限修飾詞如下列表
關鍵字 | 說明 |
---|---|
public | 任何地方都可以存取。 |
protected | 限於類別或子類別中。 |
internal | 限於目前的檔案中。 |
protected internal | 限於目前的檔案或子類別中。 |
private | 限於類別中。 |
因此上例要通過編譯,須修改如下
class Demo { public int a; public int b; public int DoSomething() { return a + b; } } class DemoTest { static void Main() { Demo d = new Demo(); d.a = 11; d.b = 22; System.Console.WriteLine(d.DoSomething()); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:class06.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */
這樣就可以順利編譯執行囉
中英文術語對照 | |
---|---|
類別 | class |
權限修飾詞 | access modifiers |
您可以繼續參考
類別
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: 存取修飾詞 (C# 程式設計手冊)
沒有留言:
張貼留言