组件是一些可以重复使用的功能化的类.
属性(property)用于隐藏类中的字段. 一般的将字段设置成 private, 通过属性安全的,受限制的访问字段; 同时, 在属性中封装附加的逻辑和规则,以处理所有可能的赋值方式.
属性是字段和方法的一个交集, 即具有存储和代码限定访问的功能, 一般定义如下:
Accessmodifier Type PropertyName
{
get
{
// get accessor
}
set
{
// set accessor
}
}
只读属性: 仅包含 get accessor的属性;
只写属性: 仅包含 set accessor的属性;(一般用于密码的数据保护).
虽然字段和属性的访问语法是相同的, 但考虑到兼容性的问题, 应该尽量使用属性对字段进行封装.
自动属性:
public int Length {get; set;}
编译器自动会对将之转化为如下代码:
private int length;
Public int Length
{
get
{
return length;
}
set
{
length = value;
}
}
使用属性初始化对象 -- 可以在初始化对象的同时对 public set 的属性赋值:
Triangle tri = new Triangle("等边三角形") {Side1Length = 5, Side2Length = 5, Side3Length = 5};
有点类似于VB 和Delphi 下的 with .. do 的语法, 不过仅限于对对象进行初始化的时候.
默认属性值: 在类的默认构造函数中, 对 public set 属性设置默认值.