请教:方法参数多的时候为什么不用public变量?

alanweb 2011-07-13 11:41:14
http://topic.csdn.net/u/20110712/15/C0DB1B4E-CB68-436D-9B1E-1E091989EEF4.html

看到这个贴子,个人觉得,发贴人举例中的参数确实挺多的,如果是我,我应该会在类的内部用public变量,但不知道这种方法有没有什么不好,为什么没有人提及呢?
想请教一下。
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
alanweb 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bsdekj2 的回复:]

他说的是直接把参数变成该类的一个属性,然后外部对属性赋值,使用方法的时候就没那么多变量。

但我不太喜欢这种方式,你调用一个方法钱还得对原有的实例化对象赋值三四个。
[/Quote]
是的,不过参数过多的时候,像在数据库处理的时候,可能有十几个值或是更多的值需要传递,在括号里加一大堆参数也很不方便。
alanweb 2011-07-13
  • 打赏
  • 举报
回复
例如:
class a
{
public string b(string a,string b,string c,string d,……,string n)
{
return a+b+c+d+……+n;
}
}
像这种情况,好多人说用封装,
我不明白为什么不直接在a的类里面声明public string a等等变量。
如:
class a
{
public string a,b,c,d,……,n;//可以加上初值
public string b()
{
return this.a+this.b+this.c+this.d+……+this.n;
}
}
leisure_cn 2011-07-13
  • 打赏
  • 举报
回复
如果你的意思是创建一个传递参数用,基于业务的实体类的话 表示赞同。
确实大量的参数暴露在外面不仅对今后的维护还是代码阅读都不是很好。。。
student_jianwen 2011-07-13
  • 打赏
  • 举报
回复
如果你是个人做的项目 不考虑安全性 等等 随便怎么定义 都KO
一般的话还是采用 字段封装· 更加具有安全性 可靠性
bsdekj2 2011-07-13
  • 打赏
  • 举报
回复
他说的是直接把参数变成该类的一个属性,然后外部对属性赋值,使用方法的时候就没那么多变量。

但我不太喜欢这种方式,你调用一个方法钱还得对原有的实例化对象赋值三四个。
sugarbelle 2011-07-13
  • 打赏
  • 举报
回复
不明白,你贴代码.

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧