站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题一个问题,关于编程习惯

一个问题,关于编程习惯

摘要: 一个问题,关于编程习惯


大家好,书上说用大量的IF ELSE IF ELSE 不好,不属于面向对象

改用什么替换啊


还有有人说linkedlist不长用,让我不要用,真的假的啊,我看到一个计算器里就用了啊

帮忙答下啊,特别是第一个问题,我在做个计算器


if else 的确不是很好,但并不是说就不能用。
一般能用 switch 语句代替的都用 switch 语句代替。

也可以用面象对象的方法,这里涉及到多种设计模式,初学者就先不要考虑了吧。

第二个问题,LinkedList 并不是个坏东西,与 ArrayList 相比,它会占用更多的内存。而且一般情况下效率不会比 ArrayList 高。但是,如果数据量较大而且插入、删除等操作比较频繁的时候,用 LinkedList 会比 ArrayList 明显提高效率。

不过对于初学者来说,一个 ArrayList 足够了。写计算器主要是会用到队列或者栈操作,操作量应该不大,用 ArrayList 足够。也可以考虑用 Stack。


严重同意楼上


同上


我不知道switch比if else好在哪里,性能?数据库和网络资源才是关键
面向对象?我见过的开源程序中很多都是大量的使用if else,没看到人家用很多switch
也许境界不到吧,懒得注意这些。


在很多情况下if else if这种模式用switch是改写不了的,
在JAVA中,switch能接受的参数只有int以下的值
但是if else if却可以比较任何东西


switch 也有缺陷,容易把 break;给漏掉,而导致多种case情况的发生。


if else本来就是基本的流程控制语句,跟面向对象没什么关系。所有的面向对象的语言都要用到if else,并不是应用了面向对象的思想,if else就可以被替代了。因此,说if else不面向对象完全是误解。
当然提出if else不面向对象,也是有道理的。这是因为可以用多态解决的问题,都用if else来实现了,这就是if else被批评的原因。但是,这是个别程序员没有面向对象的编程思想导致的,确实不能怪if else语句本身。


不用if else只能当成一个思考问题的原则吧。完全不用是不可能的。
但很多部分可以想想是不是可以用其它方式实现。更多使用多态的方法,工厂模式等。那种实现方式更好理解和更好维护。


这和用不用if else没什么关系。流程控制肯定要用拉!
我感觉面向对象的就是类包的调用以及模块化的设计思想!!!


if else和switch各有个的用处.switch可以做的if else都可以做

但是if else可以做的switch就不一定都能做啦~


非常同意 huhbc() 的说法。

楼主提到的“if-else 不符合面向对象原则”,应该不是指“if-else 和 switch 哪个更好”的问题,而是说,本来可以用多态来解决的问题,有人把它写在一个方法里,然后用一个巨大的 if-else 来处理。

其实,不只是“面向对象”,即使在“面向过程”的 C 程序里,像这种情况,也应该适当拆解的。


我不知道怎么给分呀,帮忙呀



点管理 在想给分的人输入分值 再输入密码给分。。


↑返回目录
前一篇: 一个我解决不了的问题,解决马上结贴!!
后一篇: 一个简单的基础问题?