【解惑】面向过程过时了吗?

来源:互联网 发布:数据集成平台开发工具 编辑:程序博客网 时间:2024/05/17 18:12

有同学提问:

杨老师,您说的程序化的思维(http://www.rupeng.com/index.php/viewthread-348)真是发人深省啊!
不过我有个疑问,就是如果学C的同学一直只是专研C的话,那么如果日后需要他去开发java程序(需要利用到面向对象思想),那是不是意味着要重头开始学习面向对象?你的视频里提到用java还没有运用到它吧?
到目前为止我只学过C,但听说面向对象的思想很重要
希望杨老师您 或者咱们如鹏网的其他同学能解答一下我的疑惑,谢谢

其他同学我比较满意的回复:

liusy:

面向对象是一种思想,需要你通过大量的编码,不断地去领会
如果你一心学C,又想了解面向对象的语言,那么适当的时候可以了解一下C++
面向对象应该不是一天两天能学会,并用好的。

还有,C语言的模块化设计我想也算是面向对象的初步吧

C语言跟C++的区别是什么呢?
引自一位大学老师的话:C++可以定义自己的类型(也就是不同的类),而C不可以

C只能通过结构体来实现,但它还是结构体。你把结构体看成是面向对象(类)的过度,应该很好理解吧

最后:编程体现的是人类的思想,是封装了的智慧,只要你用心,应该都可以感觉得到的。
那么,面向对象自然也就可以领会一二了!

我的回复:

对于菲尔普斯来说,一件高级的鲨鱼皮游泳衣能够帮助他在0.01秒的优势上战胜对手,因此鲨鱼皮对他来说就非常重要;
而对于普通的刚学习游泳的选手来说,哪怕给他一件鲨鱼皮的游泳衣也不能帮助他学会游泳,也不能让他成为菲尔普斯,他只能靠他一点点的练基本的游泳动作,一遍一遍的游泳。

面向对象只是面向过程的一个补充,是对面向过程编程方式中一些缺点的改进,与面向过程并不是对立的,并不是替代面向过程的。面向对象无论从微观上还是宏观上都是面向过程的,而且面向对象的内部实现仍然是面向过程的,可以说面向对象只是面向过程的一个“添头”而已。见过很多初学编程的人就弄什么面向对象,自己觉得很高级,其实发现他连基本的代码都不会写,就是在“晒概念”。没有扎实的大量的面向过程的代码的经验是不可能真正理解和快速掌握面向对象的。

不要看到菲尔普斯靠鲨鱼皮游泳衣战胜了对手就梦想着自己也有一件鲨鱼皮游泳衣后也能成为世界冠军,还是先把基本的游泳姿势练好,还是踏踏实实的几年如一日,每天游上1.6万米的去训练吧。

 

如鹏网 http://www.rupeng.com 在校不迷茫,毕业即辉煌