C#中的属性定义为public和定义为private再使用get()set()方法有区别吗

两个问题:问题1:C#中将一个类的属性定义为public,或者将这个属性定义为private再使用get()set()方法,它们有区别吗?问题2:将一个属性定义为priv... 两个问题:
问题1:C#中将一个类的属性定义为public,或者将这个属性定义为private再使用get()set()方法,它们有区别吗?
问题2:将一个属性定义为private,再使用get()和set()方法有什么好处吗?
展开
 我来答
柴关贵深0m
2009-09-10 · TA获得超过1142个赞
知道小有建树答主
回答量:1270
采纳率:0%
帮助的人:0
展开全部
1. 有。
2. 首先更正下那个不叫属性那个叫成员变量,C#中的属性就和方法差不多,也能起到保护成员变量的作用。使用public的成员变量不太安全,什么样的类型都能赋值。如果是用private,在set、get方法中可以对其进行验证合法性,私有的成员变量就被方法保护起来了。
love2005kiss
2009-09-10 · TA获得超过283个赞
知道答主
回答量:570
采纳率:0%
帮助的人:255万
展开全部
1. 有区别,如果定义private,要使用该属性的话,必须是继承的类才能使用
2.将一个属性定义为private,再使用get()和set(),安全性,考虑到代码注入,就是别人调用你这DLL的时候,可以直接引用你这个属性了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiliping666
2009-09-10 · TA获得超过925个赞
知道小有建树答主
回答量:369
采纳率:33%
帮助的人:65.5万
展开全部
1,you
2,属性器就是一个可以保证数据的安全性的数据。它的具体格式:
FOR: private string Name;
public string m_name
{
set { m_name = value; }
get { return m_name; }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uanguei
2009-09-10 · TA获得超过268个赞
知道答主
回答量:51
采纳率:0%
帮助的人:0
展开全部
可以在get{}和set{}函数里判断,防止传入非法值

e.g.
private string myvalue;
public string myValue(get{};set{if(value.length!=0) myvalue=value};)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式