在編寫程序時,我們可以對類的成員使用不同的訪問修飾符,從而定義它們的訪問級別。
公有成員
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的保護成員
}
}