private string sdu_name;//声明字段
public string StudentName{//声明属性
get{ return sdu_name; }
set{
if(value==null) sdu_name = "admin";
sdu_name = value;
}
}
代码解释
这段代码是C#语言中用于实现属性(Property)的一个典型示例,涉及到面向对象编程中的封装概念。具体解释如下:
- 字段(Field)声明:
private string sdu_name;//声明字段
这一行声明了一个私有(private)字段 sdu_name
,类型为 string
。字段是类内部用来存储数据的变量,由于它是私有的,所以只能在该类的内部访问。
- 属性(Property)声明:
public string StudentName{//声明属性
get{ return sdu_name; }
set{
if(value==null) sdu_name = "admin";
sdu_name = value;
}
}
这里定义了一个公共(public)属性 StudentName
,它提供了对私有字段 sdu_name
的访问控制。属性是类的成员,用于封装字段,使得外界可以通过预定义的方式访问和修改字段值,而无需直接操作字段本身。
- get 访问器:
get{ return sdu_name; }
get
访问器用于读取属性的值。当外部代码读取 StudentName
属性时,这段代码会被执行,直接返回 sdu_name
字段的值。
- set 访问器:
set{
if(value==null) sdu_name = "admin";
sdu_name = value;
}
set
访问器用于设置属性的值。当外部代码给 StudentName
赋新值时,这段代码会被执行。这里有一个逻辑判断,如果尝试设置的值 value
为 null
,则不会将 null
赋给 sdu_name
,而是将其默认设置为 "admin"
。否则,sdu_name
将被赋予传入的新值。
总结来说,这段代码通过定义一个公共属性 StudentName
来控制对私有字段 sdu_name
的访问,实现了数据的封装和一定的业务逻辑(即不允许 StudentName
为 null
,若尝试设置为 null
,则默认设为 "admin"
)。get
和 set
访问器分别负责读取和设置该属性的逻辑。