第1章面向对象程序设计基础 ■1.1面向过程程序设计 用户 用户 程序员开发层面 各类应用软件 编译系统 编译系统 开发软件/平台 开发软件/平台 操作系统 操作系统 十算机硬件系统 计算机硬件系统 图12程序员开发层面 图1.1计算机硬件系统、软件 系统和用户
第1章 面向对象程序设计基础 ◼ 1.1 面向过程程序设计 计算机硬件系统 各类应用软件 编译系统 开发软件/平台 操作系统 … … 用户 图1.1 计算机硬件系统、软件 系统和用户 计算机硬件系统 程序员开发层面 编译系统 开发软件/平台 操作系统 … … 用户 图1.2 程序员开发层面
12面向过程程序设计的局限(1) 在面向过程程序设计中,被操作的数据仍然是嵌入在编程语 句中的,并且与程序逻辑混合在一起,计算机的信息世界与 现实世界之间的映射关系仍然不直接,不明确。反之,如果 程序员面对的开发层面在逻辑上与现实世界相似相近,那么 不仅开发过程将更简捷,而且软件的质量也一定更好 用面向过程的方法开发较大的软件系统,数据缺乏保护,表 面上看,程序可以访问几乎所有的数据,似乎很方便,其实 不然。理想的状态是,数据被封装起来,外界要访问数据, 就应该调用相应的函数,函数将所需要的数据按指定的格式 包装好,传给外界;否则数据无法被访问
1.2 面向过程程序设计的局限(1) 在面向过程程序设计中,被操作的数据仍然是嵌入在编程语 句中的,并且与程序逻辑混合在一起,计算机的信息世界与 现实世界之间的映射关系仍然不直接,不明确。反之,如果 程序员面对的开发层面在逻辑上与现实世界相似相近,那么 不仅开发过程将更简捷,而且软件的质量也一定更好。 用面向过程的方法开发较大的软件系统,数据缺乏保护,表 面上看,程序可以访问几乎所有的数据,似乎很方便,其实 不然。理想的状态是,数据被封装起来,外界要访问数据, 就应该调用相应的函数,函数将所需要的数据按指定的格式 包装好,传给外界;否则数据无法被访问
12面向过程程序设计的局限(2) 盐沿集,,2 使用面向过程的方法,在同一个应用程序中可以共享某些程 序段,但是从总体上看,程序代码是按程序员指定的顺序执 行的,程序段(例如,函数)通常是在特定的上下文条件下 才正常运行的。如果要在一个应用程序中重用另一个应用程 序的代码段,那几乎是不可能的。也就是说,面向过程的程 序设计语言本身没有这样的机制支持代码重用。 使用面向过程程序设计方法建立的应用程序是很难修 改的,虽然结构化程序设计方法使得应用程序结构很清晰, 但是程序模块之间紧密耦合,彼此依赖,一个模块的输出可 能是另一个或几个模块的输入;许多表面独立的模块实际是 依赖某些全局变量传递状态,共同工作的。修改一处的代码 可能造成其他代码不能正常工作。这种情形导致系统维护代 价高昂,系统缺乏灵活性
1.2 面向过程程序设计的局限(2) 使用面向过程的方法,在同一个应用程序中可以共享某些程 序段,但是从总体上看,程序代码是按程序员指定的顺序执 行的,程序段(例如,函数)通常是在特定的上下文条件下 才正常运行的。如果要在一个应用程序中重用另一个应用程 序的代码段,那几乎是不可能的。也就是说,面向过程的程 序设计语言本身没有这样的机制支持代码重用。 使用面向过程程序设计方法建立的应用程序是很难修 改的,虽然结构化程序设计方法使得应用程序结构很清晰, 但是程序模块之间紧密耦合,彼此依赖,一个模块的输出可 能是另一个或几个模块的输入;许多表面独立的模块实际是 依赖某些全局变量传递状态,共同工作的。修改一处的代码 可能造成其他代码不能正常工作。这种情形导致系统维护代 价高昂,系统缺乏灵活性
1.3面向对象程序设计的概念 1.3.1类和对象 1.3.1.1对象 对象标识——即对象名,是一个对象区别于其他对象标识符 对象状态——即对象的属性,是描述对象各种特征的信息,是 对象的静态特征 对象行为——即对象能够提供的服务,对象的行为也可以理解 为与对象属性相关的所有合法的操作,是对象的动态特征
1.3 面向对象程序设计的概念 1.3.1.1 对象 对象标识——即对象名,是一个对象区别于其他对象标识符。 对象状态——即对象的属性,是描述对象各种特征的信息,是 对象的静态特征。 对象行为——即对象能够提供的服务,对象的行为也可以理解 为与对象属性相关的所有合法的操作,是对象的动态特征。 ◼ 1.3.1 类和对象
1.3.12.类 哺乳纲动物 偶蹄目动物 奇蹄目动物 匹黑马 匹白马 图13一匹白马和马的分类 类是抽象数据类型,类有名称,此外,类主要有三种成分: 完整描述事物特征的数据的类型声明,这是对对象的静态特征 的抽象描述; 能够访问并处理数据的所有操作,这是对象的动态特征的描述; 访问权限,对类、以及类中定义的数据、方法访问的限制
1.3.1.2. 类 哺乳纲动物 奇蹄目动物 马 一匹白马 图1.3 一匹白马和马的分类 偶蹄目动物 骡 一匹黑马 … … … … … … … … … … 类是抽象数据类型,类有名称,此外,类主要有三种成分: 完整描述事物特征的数据的类型声明,这是对对象的静态特征 的抽象描述; 能够访问并处理数据的所有操作,这是对象的动态特征的描述; 访问权限,对类、以及类中定义的数据、方法访问的限制