有时并不能恰当的把想要的功能抽象成类,便只能面向过程地实现(甚至没有办法整合为一个函数),那么这时候该如何去做呢?“先让代码按预想中的运行,后期再重构”的习惯会对以后产生不利的影响吗?
回复内容:
没有,因为根本就不可能那么早学会。先学会写代码,再来弄面向对象。当然这并不是让你不要用class,反正初学者随便用,多用出屎来,以后对best practice就会理解的更深刻。
为了解决问题去OO是正确思维,为了OO去OO那是病,没治
不需要,首先不是所有问题都适合用面向对象解决的,然后对于初学者,巩固基础比较重要;如果你想学面向对象,不妨把之前做过的练习用面向对象方式解一下,找找感觉。
关注我的“Node快闪”知乎专栏,15分钟上手一项Node/前端技能,提供所有源代码。
并不是所有东西都要变成类啊,面向对象只是一种方式而已。如果你真要为了oo而oo,一个小程序能写得十分巨大,而且还没什么卵用,因为类太多冗余了,依旧不好维护。
再说了,很多时候你只能到“写出来让代码能跑”这一步,重构还远着呢,不少项目大概连重构的机会都轮不到。
剑法之道,需观各家剑法,由繁入简,从中抽离出最一般的法理,形成自己对剑法的理解。
而后需由简入繁,将一般性的法理排列组合,形成自己的剑法。
编程之道亦如是
首先要有个对象,然后才能面向她写
代码多写,等你往后用到框架了(qt,wpf……),会念咒语了,然后学习这些好的框架的封装思想,最起码工厂模式你是能学会了。
我学c的时候每一个数据结构每一个算法都自己写,然后学了c++,java,c#以后发现原来这些东西可以有现成的而且用起来还那么方便,然后就自然就学会面向对象了。
面向过程就面向过程的写。
毕竟你是初学者,不懂怎么面向对象。
这至少是可以被容忍的