访问修饰符 数据类型 属性名
{
get {
return 变量名;
}
set {
变量名 = value;
}
}
访问修饰符用来确定属性的可用范围,下面介绍常用的几个访问修饰符。
public
:不限制对该属性的访问。protected
:只能从其所在类和所在类的子类(派生类)进行访问。internal
:只有其所在类才能访问。private
:私有访问修饰符,只能在其声明类中使用。
换一种说法:
public
:对任何类和成员都公开,无限制访问;protected
:仅仅对该类以及该类的派生类公开:private
:仅仅对该类公开;internal
:只能值包含该类的程序集中访问该类; // 简单理解,同一个 dll protected internal
:只能在本类,派生类或者包含该类的程序集中访问
测试:
class PTest
{
static void Main(string[] args)
{
Program test = new Program();
test.Day = 5;
Console.WriteLine(test.Day);
}
}
public class Program
{
private int day;
public int Day {
get {
return day;
}
set { // 只能传 0~8 的值
if(value > 0 && value < 8) {
day = value;
}
}
}
}
输出:
5
如果超出范围,其输出的是默认值 0。
private set:
class Program
{
public Program()
{
a = 200;
}
private int a;
public int A {
get {
return a;
}
private set {
a = value;
}
}
}
class PMain
{
static void Main(string[] args)
{
Program p = new Program();
Console.WriteLine("A = {0}", p.A); // 可以读
// p.A = 100; // 这样不允许。
Console.Read();
}
}
private set 这样的形式,类外可读不可写。