Java对象彻底攻略

“为何面向对象的编程会在软件开发领域形成如此震憾的影响?”

  面向对象编程(OOP)具备多方面的吸引力。对管理人员,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。对程序员,对象模型显得如此高雅和浅显。此外,面向对象工具以及库的巨大威力使编程成为一项更令人愉悦的任务。每一个人均可从中获益,至少表面如此。
若是说它有缺点,那就是掌握它需付出的代价。思考对象的时候,须要采用形象思惟,而不是程序化的思惟。与程序化设计相比,对象的设计过程更具挑战性——特别是在尝试建立可重复使用(可再生)的对象时。过去,那些初涉面向对象编程领域的人都必须进行一项使人痛苦的选择:
(1) 选择一种诸如Smalltalk的语言,“出师”前必须掌握一个巨型的库。
(2) 选择几乎没有库的C++,而后深刻学习这种语言,直至能自行编写对象库。

事实上,很难很好地设计出对象——从而很难设计好任何东西。所以,只有数量至关少的“专家”能设计出最好的对象,而后让其余人享用。对于成功的OOP语言,它们不只集成了这种语言的语法以及一个编译程序(编译器),并且还有一个成功的开发环境,其中包含设计优良、易于使用的库。因此,大多数程序员的首要任务就是用现有的对象解决本身的应用问题。本专题的目标就是向你们揭示出面向对象编程的概念,并证实它有多么简单。
本专题将向你们解释Java的多项设计思想,并从概念上解释面向对象的程序设计。但要注意在阅读完本章后,并不能当即编写出全功能的Java程序。全部详细的说明和示例会在相关的专题细细道来。

  什么是对象 ?

  对象是世界中的物体在人脑中的映象,是人的意识之因此为意识的反映,是作为一种概念而存在的先念的东西,它还包括了人的意愿。举例说明吧。当咱们认识到一种新的物体,它叫树,因而在咱们的意识当中就造成了树的概念。这个概念会一直存在于咱们的思惟当中,并不会由于这棵树被砍掉而消失。这个概念就是现实世界当中的物体在咱们意识当中的映象。咱们对它还能够有咱们本身的意愿,虽然咱们并不须要付诸实现——只要在你的脑中想着把这棵树砍掉作成桌子、凳子等——咱们就把它叫作意向。因而,对象就是客观世界中物体在人脑中的映象及人的意向。只要这个对象存在咱们的思惟意识当中,咱们就能够籍此判断同类的东西。譬如,当咱们看到另一棵树是,并不会由于所见的第一棵树不在了失去了供参照的模板而不认识这棵树了。当咱们接触某些新事物时,咱们的意识就会为这些事物确立一个对象。固然这个过程是怎么造成的,那就不是咱们所能讨论的问题了。

抽象的进步
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16802[/url]
对象的接口
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16803[/url]

面向对象的优点

  如今采用面向对象的方法开发软件已渐成潮流,由于面向对象具备一些结构化方法所不具有的优势,对提升软件的开发质量和开发效率极为有益。

实现方案的隐藏
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16804[/url]
方案的重复使用
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16805[/url]
继承:从新使用接口
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16806[/url]
多形对象的互换使用
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16807[/url]

对象的实现

  在搞软件开发时,编码不是最重要的。分析、设计才是最重要的。也许当咱们接受了一些更先进的思想以后,会更加理解这一点了。但愿咱们中国的软件开发人员能应用面向对象的思想开发出具备国际竞争力的优秀软件。

对象的建立和存在时间
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16808[/url]
违例控制:解决错误
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16811[/url]
多线程
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16812[/url]
分析和设计
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16821[/url]


Java与其余高级语言的比较

Java和因特网
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16819[/url]
Java仍是C++?
[url]http://www.scjp.com.cn/news/article_...a.asp?id=16822[/url]
相关文章
相关标签/搜索