“我们之所以将自然界分解,组织成为各种概念,并总结出其重要性,主要是因为我们
知道我们的语言社区所共同持有的,并以我们的语言的形式所固定下来的一种约定…除非赞
成这个约定中所颁布的有关数据的组织和分类的内容,否则我们根本无法交谈。”Benjamin
Lee Whorf(1897-1941)
计算机革命起源于机器,因此,编程语言的起源也始于对机器的模仿趋近。
但是,计算机并非只是机器那么简单。计算机是头脑延伸的工具(就象 StevenJobs 常
喜欢说的“头脑的自行车”一样),同时还是一种不同类型的表达媒体。因此,这种工具看起
来已经越来越不像机器,而更像我们头脑的一部分,以及一种诸如写作、绘画、雕刻、动画、
电影等的表达形式一样。面向对象程序设计(Object-oriented Programming, OOP)便是这种
以计算机作为表达媒体的大潮中的一波。
本章将向您介绍包括开发方法概述在内的 OOP 的基本概念。本章,乃至本书中,都假
设您在过程型编程语言(ProceduralProgramming Language)方面已经具备了某些经验,当
然不一定必须是 C。如果您认为您在阅读本书之前还需要在编程以及 C语法方面多做些准
备,您可以研读本书所附的培训光盘“Java基础(Foundations for Java)”。
本章介绍的是背景性的和补充性的材料。许多人在没有了解面向对象程序设计的全貌之
前,感觉无法轻松自在地从事此类编程。因此,此处将引入众多的概念,以期助您建立对
OOP 的扎实全面的见解。然而,还有些人可能直到在看到运行机制的某些实例之前,都无
法了解面向对象程序设计的全貌,这些人如果没有代码在手,就会陷于困境并最终迷失方向。
如果您属于后面的这个群体,并且渴望尽快获取 Java 语言的细节,那么您可以越过本章——
在此处越过本章并不会妨碍您编写程序和学习语言。但是,您最终还是会回到本章来填补您
的知识,这样您才能够了解到为什么对象如此重要,以及怎样使用对象来进行设计。