在我们开始解释属性之前,您应该对“封装”。
的含义封装,是为了确保 "sensitive" 数据对用户隐藏。为了实现这一目标,您必须:
private
public
get
和set
方法,通过特性,访问并更新 a 的值private
字段您从上一章中了解到private
变量只能在同一个类中访问(外部类无法访问它)。然而,有时我们需要访问它们——这可以通过属性来完成。
属性就像变量和方法的组合,它有两个方法:get
和一个set
方法:
class Person
{
private string name; // field
public string Name // property
{
get { return name; } // get method
set { name = value; } // set method
}
}
这个Name
属性与name
场地。最好对属性和私有字段使用相同的名称,但首字母大写。
这个get
方法返回变量的值name
。
这个set
方法分配一个value
到name
多变的。这value
关键字代表我们分配给属性的值。
如果你还没有完全理解,请看下面的例子。
现在我们可以使用Name
属性来访问和更新private
的领域Person
类:
class Person
{
private string name; // field
public string Name // property
{
get { return name; }
set { name = value; }
}
}
class Program
{
static void Main(string[] args)
{
Person myObj = new Person();
myObj.Name = "Liam";
Console.WriteLine(myObj.Name);
}
}
输出将是:
Liam
C#还提供了一种使用简写/自动属性的方法,您不必为属性定义字段,而只需编写get;
和set;
物业内。
以下示例将产生与上面示例相同的结果。唯一的区别是代码更少:
使用自动属性:
class Person
{
public string Name // property
{ get; set; }
}
class Program
{
static void Main(string[] args)
{
Person myObj = new Person();
myObj.Name = "Liam";
Console.WriteLine(myObj.Name);
}
}
输出将是:
Liam
get
方法),或只写(如果您只使用set
方法)截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!