C#中属性get和set的设置问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 09:58:21
public class Student
{
public string strName;
public string Name
{
get { return this.strName; }
set { this.strName = value; }
}

}
public class CollegeStudent : Student
{
new string strName;
new public string Name
{
get { return strName ; }
set {if (value !="" ) this.strName =value ; }
}
}
请问这个程序中两个set的不同之处是什么?
请问怎样设置set以达到不同的效果呢

CollegeStudent继承了 Student 类 就是 Student 类派生出CollegeStudent
那么CollegeStudent类里就有Student 类(父类)中的一些属性
在CollegeStudent类中重新实例化strName变量和string Name 属性
在set里面多加个判断if (value !="" ) this.strName =value如果传过来的值(value说明该类型为可空类型如果对象实例解包为null就会出错)不为null(空)this.strName=value
我也是新手只能说明这些,呵呵 不一定完全对……

一样的,set中是一段程序代码,可以对输入的值进行检查或者转换后再保存下来!

本质上来讲是一样的。
一个接受所有值,一个不接受空值。

就set来说,是一样的