进入大学,一般的计算机专业的童鞋都是先学的C语言,这一门面向过程语言。
当然,首先学习C语言对于零基础的计算机专业的同学来说非常的适合,在学习C语言的时候,让童鞋们熟悉编程语言,熟悉一些基础的用法。无论是什么语言,都是那些类似的结构,例如 for().... if()。。esle... while().... do{}.....while().....这些结构。
当你把这些基础的东西学了以后,学习其他门语言也会事半功倍了。
好了,言归正传,说说面向过程与面向对象的区别。
就那我们可能首先会学的一些语言来举例:
C语言为面向过程,java C++ C#为面向对象语言。 java和C#语言的语法非常的相似,基本上会了一门另外一门很容易上手,C++比起前面两门就相对要难一点点了。如果是要学面向对象的思想,最好先学习java,虽然说C++也是对象的语言,但是,C++更注重于底层的理解,对内存更深入的理解。java有自动回收内存机制,让只学了C语言的童鞋能更好的侧重于学习面向对象的思想。java中的引用相对于C++中的指针和&(引用)相对也更简单了。
所以,学习的顺序 最好就是 C java C++。不仅学习了面向对象的思想,而且对内存的问题也就更深刻了。
ok,下面就来说面向对象的思想了!
什么是面向对象的思想!
面向对象??? 就举我们生活中最接近的例子来说,我们每个人,就是一个对象。每一辆车,每一只猫,每一只狗。。。。都是一个对象。只是他们的类别不同而已,这里就要引入 类 这个名词了。在面向对象编程中,最重要的就是 类 对象。类:简单的理解,一类别事物的总和。比如:所有的人,算作一个类。所有的猫,算作一个类。所有的狗,算作一个类。
那么,再举一个大点的例子。Atm机取钱。
如果以面向过程来写,该怎么写呢?你可能会一步步的想,一步步的写。首先写,我取出银行卡,让后拿着银行卡到atm旁,将银行卡放入atm机中,接着做一系列的操作,最后拿着钱,退出卡,拿着卡,最后高高兴兴的走人,但是,最为一名资深的coder你这样写,恐怕会累成dog. 这样非常像是串行工作,思路结构也不是很好,如果项目再大一点,怕你自己都要崩溃,而且,这只是你前期项目开发的规划,再开发过程中,遇到什么添加同能,修改功能,我的天啦,那怎么办呢?等着哭死在厕所里吧,孩子!!
好了,如何以面向对象的思维来写呢?
好,先分析!如果,这是个项目,这个项目中大概有些什么东西呢?银行卡(什么,你忘了,我擦,没银行卡你怎么取的钱。。) atm机(这个,不会忘吧,里面全是钱啊!) 还有啥,当然是你自己了(人啊)!好,来分析如何编码!
我们需要创建一个银行卡类 atm机类 人类 这样三个类不是就把这件事情联系起来了,
然后,在细分。
atm可以干什么?当然是吐钞票!对,童鞋,你真是聪明,吐钞票都知道!还有其他的么?当然是,银行卡信息读取以及验证一些列操作。
银行卡呢?当然是,里面有保存的信息,以及验证等。
你呢?(人)当然是,做取钱的一系列操作。
ok,三个类,这个事情解决了,是不是感觉思路更清晰了,后前扩展,修改功能,更容易了。
什么?没有,好吧,等你学了面向对象,你自己用面向过程和面向对象 写写代码吧,相信你会体会到得!