在編寫程序時,我們可以對類的成員使用不同的訪問修飾符,從而定義它們的訪問級別。
公有成員
C#中的公有成員提供了類的外部界面,允許類的使用者從外部進行訪問。公有成員的修飾符為public,這是限制最少的一種訪問方式。
私有成員
C#中的私有成員僅限於類中的成員可以訪問,從類的外部訪問私有成員是不合法的。如果在聲明中沒有出現成員的訪問修飾符,按照默認方式成員為私有的。私有成員的修飾符為private。
保護成員
為了方便派生類的訪問,又希望成員對於外界是隱藏的,這時可以使用protected修飾符,聲明成員為保護成員。
內部成員
使用internal修飾符的類的成員是一種特殊的成員。這種成員對於同一包中的應用程序或庫是透明的,而在包.Net之外是禁止訪問的。
使用下面的例子說明一下類的成員的訪問修飾符的用法。
程序清單10-1:
using System; class Vehicle //定義汽車類 { public int wheels; //公有成員:輪子個數 protected float weight; //保護成員:重量 public void F(){ wheels=4; //正確,允許訪問自身成員 weight=10; //正確,允許訪問自身成員 } } class train //定義火車類 { public int num; //公有成員:車廂數目 private int passengers; //私有成員:乘客數 private float weight; //私有成員:重量 public void F(){ num=5; //正確,允許訪問自身成員 weight=100; //正確,允許訪問自身成員 Vehicle v1=new Vehicle(); V1.wheels=4; //正確,允許訪問v1的公有成員 //v1.weight=6; 錯誤,不允許訪問v1的保護成員,可改為: weight=6; } } class Car:Vehicle //定義轎車類 { int passengers; //私有成員:乘客數 public void F(){ Vehicle v1=new Vehicle(); v1.wheels=4; //正確,允許訪問v1的公有成員 v1.weight=6; //正確,允許訪問v1的保護成員 } }