是啊,如用public不能保证数据的安全,用属性可以提供数据验证功能,例如:
class myClass
{
public myClass(){}
public int age;
}
这样可以 myClass class1 = new myClass();
class1.age = -1;
但是年龄怎可以是负数的呢?所以为了保证数据的安全,用private,之后用属性并提供数据验证。
class myClass
{
public myClass(){}
private int age;
public int Age
{
set
{
if(value < = 0)
age = 20;
}
}
class myClass
{
public myClass(){}
public int age;
}
这样可以 myClass class1 = new myClass();
class1.age = -1;
但是年龄怎可以是负数的呢?所以为了保证数据的安全,用private,之后用属性并提供数据验证。
class myClass
{
public myClass(){}
private int age;
public int Age
{
set
{
if(value < = 0)
age = 20;
}
}
解决方案 »
- B程序及时获取A程序删除的数据
- 联想官方网站的谷歌地图是怎么弄的?
- hplyl
- C#窗体程序实现智能提示
- 在线急等DATAGRID问题
- 那位C#的老大来帮帮忙!写一个通过用户输入初始页数来增加书页的数量,谢谢了大哥们!!!
- c#在启动firefox后,如何始终使用第一个标签页?
- c# 调用dll时 出现:尝试读取或写入受保护的内存,这通常指示其他内存已损坏,郁闷
- 谁用过System.Management?
- 使用DataRow读取DataSet的一个表,如何得知DataRow已读取到最后一条记录?
- 水晶报表能否先生成几个不同的报表(DataSet不同,内容也不同),然后一起打印?
- RichTextBox的文本怎样使关键字显示不同的颜色字体
{
public myClass(){}
private int age;
public int Age
{
get{return this.age;}
set
{
if(value < = 0)
age = "error input number";
else this.age = value;//<--这一句多余吗?
}
}
class myClass
{
public myClass(){}
private int age;
public int Age
{
get{return this.age;}
set
{
if(value < = 0)
age = 20;
MessageBox.show("error input number!so value = default value");
else
this.age = value;//<--这一句多余吗?
}
}
这样