全新java初学者实践教程12(java SE5.0版)面向对象

来源:互联网 发布:nba历史得分王数据 编辑:程序博客网 时间:2024/05/24 02:11
导读:
  在第4节课中我们初步的了解到了一些面向对象的概念,和一些特性。例如封装。这节课我们来进一步认识一下,这种思想。对了,在这里我说这是一种思想,是想问题的方法。即使没有java,C++,smalltalk这样的面向对象语言也有这种思想。其实这种思想在上世纪60年代就已经存在了。还有一个常见的误区,不光是初学者,就是有些干了几年的程序员也是这样,以为用java写东西就是面向对象,这都是错误的。
  那么面向对象到底是什么东西呢?能够明确的给出概念非常少,但是我们可以分析一下。它与面向过程的思想做一个比较,面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现过程;面向对象是指,我们考虑问题时,把任何东西看做是对象,以对象为单位,考虑它的属性及方法。
  
  好比一个木匠在做一把凳子,如果他是面向过程的木匠,他会想到制作凳子的过程。“先做什么呢?凳子腿?凳子板?用什么工具呢?”。
  如果他是一个面向对象的木匠,他会把所有的东西看做成对象,“凳子腿,凳子板两个对象。凳子腿有属性,长方体的,长度,宽度是多少厘米,有方法钉钉子。凳子板的属性,正方形,边长是多少厘米等等问题。”这样的话,面向对象的木匠会依据这些条件。将一个凳子组装在一起。最终目的是做成一个凳子,用什么思想方法去做,是值得研究的。
  通过刚才的例子,我们会有一种感觉,面向对象的木匠会对事务量化的分析,用“数学”的方法处理问题似的。好像他更具有进步意义。面向对象的思想也确实有着他的先进之处,它把世界上的所有事务看做成为对象,这样的话更贴近于现实世界,这样的话使得逻辑清晰,谁看报告的时候也喜欢看条理清晰的报告啊。这样使得面向对象的软件开发,成为上世纪90年代直到现在的主流开发技术。传统开发方法存在问题
  1.软件重用性差
  重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。谁愿意来来回回的写一件事情呢。
  2.软件可维护性差
  软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。
  3.开发出的软件不能满足用户需要
  用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。
  现在的面向对象的思想已经扩展到很多方面,如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。而且他指的是面向对象分析(OOA),面向对象设计(OOD),面向对象编程(OOP),这一套过程了。
  
  下面我们来看一下,经常用到的重要概念,也就是java语言的的OOP特性,这是对于OOP而言的,不含前面的OOA和OOD的。因为是初学嘛,还没有学到怎么分析和设计呢。Java的OOP有三大特性:封装、继承、多态。
  封装的概念已经在第4节课说过了,我们讲的是,它用权限修饰符private使得属性不能被外界访问,像是人的五脏六腑怎么能让人随意的碰呢?人的这个属性也是要封装的。如有再不明白,请访问我们的技术论坛。
  说一下容易理解的继承:
  当一个类是另一个类的特例时,这两个类之间具有父子类的关系。子类继承了父类的方法和属性,就是说子类可以重用父类中的这部分代码。比如:轿车是车的一个特例。轿车是车的子类。就是说,轿车继承了车的一切特性。继承用关键字extends表示。

本文转自
http://www.java3z.com/cwbwebhome/article/article2/javas12.html