第3章 Java面向对象编程(上)
在传统的结构化程序设计中,数据和对数据的操作是相分离的。Java是优秀的面向对象程序设计语言,它将数据及对数据的处理操作“封装”到一个类中,用“类”或“接口”这些较高层次的概念来表达应用问题,类的实例称为对象。
1.类
类是面向对象程序设计的核心概念之一,一个用户自定义的类就是一个新的数据类型,类是相同或相似的各个事物间共同特性的一种抽象。简单说,类是数据和对数据进行操作的方法的集合体。这个集合体被看成是一个密不可分的有机整体,是一个新的数据类型。通过这个数据类型可定义许多个变量,这些变量可认为是对象。因此,对象是类的实例化,类和对象密切相关,可认为类是创建这个类的对象的一种模板,类中定义的数据成员表示了类的对象的一种状态,可认为是对象的属性,类中定义的方法表示对类的对象的操作。对象间的通信可通过事件的发送和传递来进行,一个事件本身也是一个对象,称为事件对象,它封装了对象间通信的内容。因此,可简单认为一个对象是由对象的属性、方法和事件所组成。
2.对象
任何事物均是对象。将所有相同或相似的对象特性进行抽象,就形成了类,类是对象的一种模板。从一个类中可以创建任意多个对象,这些对象具有相同的行为,但各自拥有自身的各种状态。基于对象来进行应用问题的分析、思考、设计及代码编写,是面向对象程序设计的基本原则之一。
3.属性
一个对象的属性是能够被外界或对象所处的环境所感知或操作的数据或状态。通常对象所处的环境通过对这些属性进行设置或操作,可改变对象的内部数据成员的值,即影响到对象的状态。在Java中,对象的属性是一系列特殊的方法,即所谓的get/set方法,这些方法对对象内部的数据成员进行读或写操作。因此,属性是这些特殊方法呈现给外部环境的“界面”。IDE集成环境或对象所处的环境能自动感知到这些特殊的方法,并在属性单中显示为属性。本质上,属性是与对象的内部数据成员紧密相连的。有时,可简单认为对象的数据成员就是对象的属性。
4.方法
对象中的方法表达了对象所具有的行为。通过调用对象中的方法,实施对象的某种操作。对象所具有的所有方法的集合,构成了对象呈现给对象使用者的“接口”。使用者只需要知道有哪些方法,每一个方法的方法名、方法参数、返回值及完成何种操作,至于方法的实现完全不用关心。从这种观点看,有时又把对象所提供的方法称为“服务”。方法实际上就是函数。
5.事件
一个程序运行时,总会产生许多个对象,这些对象在本质上具有天生的潜在并发性。这些对象之间总是要发生联系的。对象之间是如何通信的?对象之间是通过事件进行通信的。事件是一种对象,称为事件对象。事件对象“封装”了所有必需的有用的信息,如事件源、事件性质、发生时间、发生位置、其他参数等。当对象A要与对象B通信时,将所有必要信息包装成一个事件对象,然后将该对象传递给对象B的特定的方法,对象B通过该方法,接收事件对象,完成对事件对象应该进行处理的动作。