JAVA是纯面向对象的吗?

boomni 2012-03-22 09:26:40
面向对象和面向过程有啥区别,感觉自己写的不像是面向对象,具体方法里面还是顺序执行一大堆代码,怎么才能不这样?
...全文
290 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
boomni 2012-03-22
  • 打赏
  • 举报
回复
那可以这样理解不:
面向过程是绝对的---就是即使在一个面向对象系统中,放大局部的细节代码,方法里其实仍然是按很强的顺序性来执行完成某个方法应该完成的功能的,举个例子:
JAVA的SOCKET内部也必然要用到创建SOCKET,设置SOCKET,BIND,LISTEN,ACCEPT,READ/WRITE,CLOSE,这样的流程在使用SOCKET是吧,文件也是一样,必然要按照打开文件---读写文件---数据处理---关闭文件,这样的过程必然不可少的是吧,能这样说吗,这还叫面向对象吗,还是这是面向过程的解决思路
Acesidonu 2012-03-22
  • 打赏
  • 举报
回复
不是,有静态的东西和基本类型。
baby1986 2012-03-22
  • 打赏
  • 举报
回复
Java不是纯面向对象的。
boomni 2012-03-22
  • 打赏
  • 举报
回复
怎么写才不是面向过程的啊,
boomni 2012-03-22
  • 打赏
  • 举报
回复
还有:
因为文件的格式比较多,所以一种格式我就写了一个解析的方法来对应,把解析的结果返回,因为实在写不出一个统一可以用一个方法解析全部所有格式的方法来才这样做的,但问题是,这些方法我把他们命名在一个叫解析类里面,它们其实都是独立的方法,脱离类也照样可以用,只要接收文件路径和文件格式标识就行了,,,这样的类成员只是在功能,我认为他们应该在放在一起,而且类似的情况还有很多,如里面还有判断路径的方法,还有产生ID的方法,它们都不操作任何类的数据,只接收参数就能输出结果,只是功能上我认为它们应该是一组,,所以就建个类,,
这样做合适吗
a597926661 2012-03-22
  • 打赏
  • 举报
回复
面向对象和面向过程是处理问题的角度不一样 java语言具有面向对象的三大特征 封装 继承 多态 他更适合与编写面向对象的程序 但是语言不能决定程序是面向对象还是面向过程 意思就是说 java可以编写面向过程的程序 而C C++ 甚至汇编也可以写出面向对象的程序 不要急 这个不是短时间就能理解的 多写写多思考一下 久而久之你对面向对象的理解就会越来越深入了 同是新手 还望各位不吝赐教 与楼主共勉
BadPattern 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 boomni 的回复:]

我的任务是这样的:
我要不停的到一个目录下去看有没有收到文件,如果有的话就读取该文件的内容,因为知道文件格式,所以要写一个解析的过程,解析完了之后,再按另外一种格存将内容分别存到其它目录的文件夹下的文件里,并修改原来读取的那个文件夹里的标记,以记住当前读到第几个文件了,
我满脑子都是这样的顺序过程,总是设计不出好的类来,我应该怎么建类,
[/Quote]
先慢慢来,类的职责其实并不好划分,先从短小的函数开始,90%的重构都是从分割函数开始,核心逻辑也并不要求一定要短小.这种能力是日积月累总结出来的.
boomni 2012-03-22
  • 打赏
  • 举报
回复
我的任务是这样的:
我要不停的到一个目录下去看有没有收到文件,如果有的话就读取该文件的内容,因为知道文件格式,所以要写一个解析的过程,解析完了之后,再按另外一种格存将内容分别存到其它目录的文件夹下的文件里,并修改原来读取的那个文件夹里的标记,以记住当前读到第几个文件了,
我满脑子都是这样的顺序过程,总是设计不出好的类来,我应该怎么建类,
若鱼1919 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hbhgjiangkun 的回复:]

引用<thinking in java>上的一句话:java中几乎一切都是对象。

除去这“几乎”,那么java就是存面向对象的了
[/Quote]

int也不是对象,但是int不是数组。

中草药代码 2012-03-22
  • 打赏
  • 举报
回复
引用<thinking in java>上的一句话:java中几乎一切都是对象。

除去这“几乎”,那么java就是存面向对象的了
magong 2012-03-22
  • 打赏
  • 举报
回复
程序控制不外乎就是顺序、循环、分支,方法中有顺序一堆代码并不奇怪。

方法中代码很多,可以分成几个方法。一个类中方法太多,就将类分成几个类。
BadPattern 2012-03-22
  • 打赏
  • 举报
回复
使用重构和设计模式改善你的代码
先从拆分出短小的函数开始,每个函数尽量短小,有的时候你会发现不好拆分,这个时候就需要引入新的类来解决,推荐你看此书<重构-改善既有代码的设计>

再引用<thinking in java>上的一句话,如果没有数组,java就是纯粹的面向对象
boomni 2012-03-22
  • 打赏
  • 举报
回复
感谢 dr8737010!!!明白了!!

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧