社区
C#
帖子详情
请教:方法参数多的时候为什么不用public变量?
alanweb
2011-07-13 11:41:14
http://topic.csdn.net/u/20110712/15/C0DB1B4E-CB68-436D-9B1E-1E091989EEF4.html
看到这个贴子,个人觉得,发贴人举例中的参数确实挺多的,如果是我,我应该会在类的内部用public变量,但不知道这种方法有没有什么不好,为什么没有人提及呢?
想请教一下。
...全文
67
6
打赏
收藏
请教:方法参数多的时候为什么不用public变量?
http://topic.csdn.net/u/20110712/15/C0DB1B4E-CB68-436D-9B1E-1E091989EEF4.html 看到这个贴子,个人觉得,发贴人举例中的参数确实挺多的,如果是我,我应该会在类的内部用public变量,但不知道这种方法有没有什么不好,为什么没有人提及呢? 想请教一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
不明白,你贴代码.
基于Web的酒店客房管理系统的设计与实现+论文+开题
@Controller("adminController") @RequestMapping(value = "/admin")
public
class AdminController extends MyController { @RequestMapping(value = "/index")
public
String frame(Model model, ...
为什么匿名内部类和局部内部类只能访问final
变量
是
变量
的作用域的问题,因为匿名内部类是出现在一个
方法
的内部的,如果它要访问这个
方法
的
参数
或者
方法
中定义的
变量
,则这些
参数
和
变量
必须被修饰为 final。因为虽然匿名内部类在
方法
的内部,但实际编译的时候,内部...
C语言面试题汇编
对于有些编译器而言,在同一个函数内可以定义多个同名的局部
变量
,比如在两个循环体内都定义一个同名的局部
变量
,而那个局部
变量
的作用域就在那个循环体内。 2.如何引用一个已经定义过的全局
变量
?
请教
:a 和 *(&a) 有什么区别,"delete a" 和 "delete []a"又有什么区别?
请教
:a 和 *(&a) 有什么区别,"delete a" 和 "delete []a"又有什么区别? [已结贴,结贴人:yaoike] 加为好友 发送私信 在线聊天yaoike 想念着Run的Ike 等级: 可用分等级:乞丐 总技术分:0 总技术分排名:313963 揭...
java 面对对象
方法
调用内存分析 栈与堆
一个初学者的笔记(向大佬们虚心
请教
) 首先 Java虚拟机的内存可以分为三个区域:栈stack、堆heap、
方法
区method area。...2. JVM为每个线程创建一个栈,用于存放该线程执行
方法
的信息(实际
参数
...
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章