第九章面向对象程序设计 基础 2004年3月 河北建筑工程学院
第九章 面向对象程序设计 基础 2004年3月 河北建筑工程学院
91面向对象程序设计概述 911面向对象是软件方法学的返朴归真 客观世界是由许多具体的事物、抽象的概念、规则等组成的, 我们将任何感兴趣或要加以研究的事、物、概念统称为对象 ( Object)。每个对象都有各自的内部状态和运动规律,不 同对象之间通过消息传送进行相互作用和联系就构成了各种 不同的系统。面向传统的结构化方法强调的是功能抽象和模 块化,每个模块都是一个过程。 结构化方法处理问题是以过程为中心。面向对象强调的是功 能抽象和数据抽象,用对象来描述事物和过程。而对象包含 数据和对数据的操作,是对数据和功能的抽象和统一。面向 对象方法处理问题的过程是对一系列相关对象的操纵,即发 送消息到目标对象中,由对象执行相应的操作
9.1 面向对象程序设计概述 9.1.1 面向对象是软件方法学的返朴归真 客观世界是由许多具体的事物、抽象的概念、规则等组成的, 我们将任何感兴趣或要加以研究的事、物、概念统称为对象 (Object)。每个对象都有各自的内部状态和运动规律,不 同对象之间通过消息传送进行相互作用和联系就构成了各种 不同的系统。面向传统的结构化方法强调的是功能抽象和模 块化,每个模块都是一个过程。 结构化方法处理问题是以过程为中心。面向对象强调的是功 能抽象和数据抽象,用对象来描述事物和过程。而对象包含 数据和对数据的操作,是对数据和功能的抽象和统一。面向 对象方法处理问题的过程是对一系列相关对象的操纵,即发 送消息到目标对象中,由对象执行相应的操作
从结构到类 程序=数据结构+算法 程序=(数据结构+算法) +(数据结构+算法) 程序=对象+对象
从结构到类 程序=数据结构+算法 程序=(数据结构+算法) + (数据结构+算法)…… 程序=对象+对象……
¥因此面向对象方法是以对象为中心的,这种以对象为中心 的方法更自然、更直接地反映现实世界的问题空间,具有独 特的抽象性、封装性、继承性和多态性,能更好地适应复杂 大系统不断发展与变化的要求。 米用对象的观点看待所要解决的问题,并将其抽象为系统 是极其自然与简单的,因为它符合人类的思维习惯,使得应 用系统更容易理解。同时,由于应用系统是由相互独立的对 象构成的,使得系统的修改可以局部化,因此系统更易于维 护 软件开发从本质上讲就是对软件所要处理的问题域进行 正确的认识,并把这种认识正确地描述出来
因此面向对象方法是以对象为中心的,这种以对象为中心 的方法更自然、更直接地反映现实世界的问题空间,具有独 特的抽象性、封装性、继承性和多态性,能更好地适应复杂 大系统不断发展与变化的要求。 采用对象的观点看待所要解决的问题,并将其抽象为系统 是极其自然与简单的,因为它符合人类的思维习惯,使得应 用系统更容易理解。同时,由于应用系统是由相互独立的对 象构成的,使得系统的修改可以局部化,因此系统更易于维 护。 软件开发从本质上讲就是对软件所要处理的问题域进行 正确的认识,并把这种认识正确地描述出来
既然如此,那就应该直接面对问题域中客观存在的事物来 进行软件开发,这就是面向对象。另一方面,人类在认识世 界的历史长河中形成的普遍有效的思维方法,在软件开发中 也应该是适用的。在软件开发中尽量采用人们在日常生活中 习惯的思维方式和表达方式,这就是面向对象方法所强调的 基本原则。软件开发从过分专业化的方法、规则和技巧中回 到了客观世界,回到了人们的日常思维,所以说面向对象方 法是软件方法学的返朴归真。 912面向对象程序设计语言的四大家族 1.LISP家族 LISP是50年代开发出来的一种语言,它以表处理为 特色,是一种人工智能语言,70年代以来,在LISP 基础上开发了很多LISP家族的面向对象语言
既然如此,那就应该直接面对问题域中客观存在的事物来 进行软件开发,这就是面向对象。另一方面,人类在认识世 界的历史长河中形成的普遍有效的思维方法,在软件开发中 也应该是适用的。在软件开发中尽量采用人们在日常生活中 习惯的思维方式和表达方式,这就是面向对象方法所强调的 基本原则。软件开发从过分专业化的方法、规则和技巧中回 到了客观世界,回到了人们的日常思维,所以说面向对象方 法是软件方法学的返朴归真。 9.1.2 面向对象程序设计语言的四大家族 1. LISP家族 LISP是50年代开发出来的一种语言,它以表处理为 特色,是一种人工智能语言,70年代以来,在LISP 基础上开发了很多LISP家族的面向对象语言