关于自定义类,为何要画蛇添足呢?想了一夜越想越糊涂了 本帖最后由 yzmsb4 于 2011-03-15 04:09:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这有点类似封装的概念,可以把实现(myt内部的代码)和应用(使用myt类的代码)明确的分开,互不影响。客户不需要也不应该知道类的实现细节。按照get/set的方法写了之后,以后如果有必要可以随时修改get和set,而任何使用了这个类的代码都不需要任何修改。比如说,想给set加一个判断条件, set { if (value......) stallchar = value; else ...... }就这样直接修改myt代码即可,客户的代码一点都不用改动。而如果按照你的更省事的写法,想做类似的改动可就麻烦了,所有客户的代码全都得重写。 好像写成属性可以避免对类中变量的直接访问,起到保护作用,还有就是可以在属性的get和set中添加逻辑处理关系。我也不是很懂,呵呵! 用get/set的方法,可以对客户如何读写类内部成员做一些控制。如果直接用public成员,客户的代码就可以为所欲为了。 就这么点效率相差也不会很大,如果计较这么点效率就肯定不会用C#等面向对象语言了Java,C#等面向对象语言,都是采用方法来修改或返回类内的属性,这体现了对象的思想(完全不同于C等) 求各位帮忙解决下我的问题吧,实在弄不懂了。 c#socket读取数据问题 如何监听Windows消息? 在winform里起线程后,终止了线程,关闭窗体,但winform进程怎么关不掉?请高手指教!! 正则判断出生年月 使用webservice服务器和客户端双向通信的问题 问个小问题 dropdownlist控件怎么将默认外观改成我做好的图片啊? 求助,一直不懂的问题,没分了。 关于C/S异步非阻塞网络编程的问题,高手进 关于DllImport使用中的数据类型,讨厌的数据类型!!!!! 传说指针效率高,网友帮忙把这个简单方法改成指针的。。。 拷贝了一份代码,求大侠讲解下 谢谢
按照get/set的方法写了之后,以后如果有必要可以随时修改get和set,而任何使用了这个类的代码都不需要任何修改。
比如说,想给set加一个判断条件,
set
{
if (value......)
stallchar = value;
else
......
}
就这样直接修改myt代码即可,客户的代码一点都不用改动。
而如果按照你的更省事的写法,想做类似的改动可就麻烦了,所有客户的代码全都得重写。
如果直接用public成员,客户的代码就可以为所欲为了。
Java,C#等面向对象语言,都是采用方法来修改或返回类内的属性,这体现了对象的思想(完全不同于C等)