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# 程式設計手冊)
沒有留言:
張貼留言