《21天学通Java(第6版)》—— 1.3 对象和类

本节书摘来异步社区《21天学通Java(第6版)》一书中的第1章,第1.3节,作者:【美】Rogers Cadenhead,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 对象和类

21天学通Java(第6版)
面向对象编程是基于现实世界的情况进行建模的,对象由多种更小的对象构成。

然而,组合对象只是面向对象编程的一个方面,另一个重要特征是使用类。

类是用于创建对象的模板。使用同一个类创建的每个对象都具有相似的特性。

类包含一组特定对象的所有特性。使用面向对象语言编写程序时,并不定义各个对象,而是定义用于创建这些对象的类。

使用Java编写网络程序时,您可能创建Modem类,它描述了所有计算机调制解调器的特征,其中一些常见的特征有:

  • 连接到计算机的串行端口;
  • 发送和接收信息;
  • 拨叫电话号码。

Modem类是调制解调器的抽象概念模型。要在程序中有能够实际操纵的具体东西,必须有对象:必须使用Modem类创建Modem对象。使用类创建对象的过程叫做实例化(instantiation),这就是对象也被称作实例的原因所在。

在程序中,可使用Modem类创建很多不同的Modem对象,其中每个对象都可以有不同的特征,如:

有些调整解调器是内置的,而有些是外置的;

有些使用COM1端口,有些使用COM2端口;

有些有差错控制功能,有些没有。

虽然有这么多的不同,两个Modem对象仍有足够多的共性,使其被视为相关的对象。图1.1显示了Modem类及使用该模板创建的几个对象。

《21天学通Java(第6版)》—— 1.3 对象和类

这里还有一个例子:使用Java可以创建一个类来表示所有的命令按钮—可单击的矩形框,出现在窗口、对话框和程序图形用户界面的其他部分。

开发CommandButton类时,可以定义如下特征:

  • 显示在按钮上的文本;
  • 按钮的大小;
  • 按钮的外观,如是否有三维阴影效果。

CommandButton类还可以定义按钮的行为,如:

  • 按钮需要单击还是双击;
  • 是否完全忽略鼠标单击;
  • 被单击后执行什么操作。

定义CommandButton类后,就可以创建按钮实例了,即CommandButton对象。这些对象都具有类定义的按钮的基本特征,但根据需要,每个对象都可以有不同的外观和行为。

通过创建CommandButton类,可避免为程序中要使用的每个命令按钮重写这些代码。此外,如果需要的话,还可以重用该CommandButton类来创建不同类型的按钮,无论是在当前程序中还是在其他程序中。

编写Java程序时,您实际上设计和构建了一组类。程序运行时,将根据需要使用这些类来创建对象,并使用它们。作为Java程序员,您的任务是创建一组合适的类,以完成程序要完成的任务。

幸运的是,不必每次从头开始。Java语言包含Java类库,其中的类超过3900个,实现了您所需的大部分基本功能。这些类随诸如JDK等开发工具一起被安装。

当您谈论如何使用Java语言时,实际谈论的是如何使用该类库以及Java定义的标准关键字和运算符。

类库处理很多任务,如数学函数、文本处理、图形、用户交互以及网络功能等。使用这些类与使用您自己创建的Java类没有什么不同。

对于复杂的Java程序,可能需要创建一整套新类,这些类可组成独立的类库,以便在其他程序中使用。

重用是面向对象编程的基本优点之一。

上一篇:C++ 对象的Lua脚本化


下一篇:2017年OpenStack & Docker六大趋势预测