黑马程序员技术交流社区

标题: 什么叫面向对象,本人学习过C语言,感觉还是面向过程好 [打印本页]

作者: wawsc5354524    时间: 2014-8-4 11:08
标题: 什么叫面向对象,本人学习过C语言,感觉还是面向过程好
本帖最后由 wawsc5354524 于 2014-8-5 00:29 编辑

求大神通俗的解释一下什么叫做面向对象,什么叫做面向过程,他们有什么区别?通俗一点的说法啊,谢谢了!
作者: fxwb2005    时间: 2014-8-4 11:10
好高深的问题
作者: wawsc5354524    时间: 2014-8-4 11:11
fxwb2005 发表于 2014-8-4 11:10
好高深的问题

新手,见谅见谅,只会一点点C,求大神解释啊
作者: zhxu188    时间: 2014-8-4 11:14
面向对象就是万物皆对象,都可以用类和对象来形容,本人一开始学的是C语言是面向过程的,后来又学习了C++是面向对象的,但不像java这样纯面向对象,一路过来个人感觉还是面向对象编程更好,思路更清晰,慢慢学习慢慢就会感觉到的
作者: wawsc5354524    时间: 2014-8-4 11:17
zhxu188 发表于 2014-8-4 11:14
面向对象就是万物皆对象,都可以用类和对象来形容,本人一开始学的是C语言是面向过程的,后来又学习了C++是 ...

昨天才开始了开学典礼,还没有开始学习JAVA,加油吧
作者: fantacyleo    时间: 2014-8-4 11:26
你学过C,应该知道汇编语言和机器语言的吧?面向过程本质上还是汇编和机器语言的思维模式,直接对计算机发指令,指挥它这一步干啥,下一步干啥,比如说C语言的程序结构就是若干函数互相调用,函数无非是将一系列操作步骤打包,起了个名而已。

面向对象的思考方式更贴近现实世界。如果把现实世界看做一个系统,那么我们平时看到的基本上就是这个系统各组成部分(对象)之间的交互作用(调用对象的方法,或者叫请求对象提供服务,或者叫给对象发送消息)。这种交互作用和面向过程那种直接指挥是不一样的。比如老板和秘书是两个对象,老板叫秘书去复印一份文件,这就相当于请求秘书提供复印文件的服务,秘书清楚怎么复印,老板不用操心。这是面向对象的思考方式。如果换成面向过程,那就成了:老板叫来秘书,让秘书把文件拿到复印件旁,让秘书按下复印件的开关,让秘书把文件放进去,让秘书按开始复印按钮。。。
作者: chaimk    时间: 2014-8-4 11:30
java面向对象三大特征 :
一 封装:  概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。  好处:将变化隔离;便于使用;提高重用性;安全性。    封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。  
二 继承
好处:
1:提高了代码的复用性。
2:让类与类之间产生了关系,提供了另一个特征多态的前提。
三 多态(在后期开发中常用)
(面向对象特征之一):函数本身就具备多态性,某一种事物有不同的具体的体现。
体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();
多态的好处:提高了程序的扩展性。
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)
多态的前提:
1:必须要有关系,比如继承、或者实现。
2:通常会有覆盖操作。  


作者: wawsc5354524    时间: 2014-8-4 11:33
fantacyleo 发表于 2014-8-4 11:26
你学过C,应该知道汇编语言和机器语言的吧?面向过程本质上还是汇编和机器语言的思维模式,直接对计算机发 ...

哦,你这样一说我就貌似有点明白了,嘿嘿
作者: 陈云阳    时间: 2014-8-4 14:03
c语言的数据类型,以及函数都是互不相干,独立存在的,java就是将一些方法和数据类型封装成类,
就用盖房子比喻吧,c语言每次盖房子都要去研究石头应该用什么材质去做,java就不考虑石头怎么做,只需要去挑选做好石头,
作者: 郑阳阳    时间: 2014-8-4 14:17
我认为java都要用到的 大体的整体框架思路我认为就是面向对象,细节的处理部分就是面向过程,例如你要实现某个功能,功能内部的实现就是面向过程,别人用你的功能,人家不管你怎么实现的只要知道这个功能有什么用就可以,这就是面向对象。
作者: LFW    时间: 2014-8-4 16:34
面向过程,吃(猪八戒,西瓜)。面向对象,猪八戒.吃(西瓜)。用人类的思想去解决问题,面向对象,注重对象,有了对象就有了方法,也就解决了问题。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2