C#難點逐一擊破(5):類別的訪問類型

黄舟
發布: 2016-12-22 14:11:30
原創
1219 人瀏覽過

講這四類之間的區別時有必要講解一個概念:程序集。組件(Assembly),可以簡單理解為編譯之後產生的.dll或.exe文件,相對於namespace是類別庫的邏輯組織形式,它可以稱為程式類別庫的實體組織形式,msdn上描述「組件包含描述它們自己的內部版本號和它們包含的所有資料和物件類型的詳細資訊的元資料」。一般情況是一個組件可以包含一個或多個命名空間。

Public:對其他任何類別的任何方法都是可見的; 
Private:本類別中定義的成員只有本類別的方法才能存取; 
Protected:本類別中的成員只有本類別的方法及繼承本類別的類別的方法才能存取; 
internal:本類別中的成員只有本類別所在的程式集中的任何類別的方法存取; 
protected internal:為protected與internal的並集。 
因此從存取等級由高到低應當是Public>protected internal>internal>Protected>Private 

類別的預設修飾符為internal ,類別中的成員變數預設修飾符為private,namespace可認為修飾符為public。另一點在msdn上也提到繼承類別的存取級別不能大於被繼承類別的存取級別,如internal的類別不能繼承private的類別。

using System; 

/****************************** 
* Chapter:C#难点逐个击破(五) 
* Author:王洪剑 
* Date:2010-1-15 
* Blog:http://www.51obj.cn/ 
* Email:walkingp@126.com 
* Description:访问修改符 
* ***************************/ 
namespace TestMain 
{ 
public class A 
{ 
public void Alert() 
{ 
} 
} 

internal class B:A 
{ 
internal new void Alert() 
{ 
Console.WriteLine("you"); 
} 
} 

class Program 
{ 
static void Main() 
{ 
B b=new B(); 
b.Alert(); 

} 
} 
}
登入後複製

 以上就是C#很難逐一擊破(5):類的訪問類型的內容,更多相關內容請關注PHP中文網(www.php.cn)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板