没有什么关系,c#通过属性特性读取和写入字段,而不直接读取和写入,以此来提供对类中字段的保护
按可以访问的类型分为三种不同的类型:
一.读/写属性
读/写属性是一个具有get()和set()访问器的属性
语法: [访问修饰符] 数据类型 属性
{
get{ };
set{ };
}
二.只读属性
仅具有get()访问器属性称为只读属性.
语法: [访问修饰符] 数据类型 属性名
{
get{ };
}
三.只写属性
仅具有set()访问器属性称为只写属性,不推荐使用只写属性.
语法: [访问修饰符] 数据类型 属性名
{
set{ };
}
而属性很好的保护了字段,并且可以对输入的值进行限定,如下例子就对年龄字段进行了限制:
public class Person
{
string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
int _age;
public int Age
{
get { return _age; }
set
{
if (value < 0 || value > 100)
{
_age = 0;
}
_age = value;
}
}
}
|