第1部分 习题解答与补充习题
第1章 面向对象软件开发概述
1.1 习题解答
1-1 简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。
解:面向过程问题求解利用计算机能够理解的离散逻辑来描述和表达所求解的问题本身以及具体问题解决的过程,它的核心是算法和数据结构。面向对象的问题求解则利用符合人们日常思维习惯的方式去模拟所求解的问题,模拟它的构成、特征和各种动态行为,从而得到问题的解答。它的核心是类、对象和设计模式。
常见的面向过程的编程语言有BASIC,FORTRAN,Pascal,C等。常见的面向对象的编程语言有Smalltalk一80,Object Pascal,C++,Java等。
1-2 简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。
解:实体是现实世界中的物理存在,对象是计算机系统对现实实体的映射和体现,类是所有对应同类型实体的对象的抽象和公共特征、行为的集合。
例如“汽车”是类,“一辆苹果绿色的甲壳虫车”就是类的一个实例对象。
1-3 对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。
解:对象的属性包括静态属性和动态属性。其中静态属性表示对象的状态,也称为对象的域;动态属性表示对象的操作,也称为对象的行为或方法。行为将包含对象内部信息的状态封装在对象内部并提供对象内部信息与对象外部交互的**控制和接口。
“学生”对象的状态可以有:学号、姓名、性别、年龄、班级等,行为可以有“修改学号”、“调换班级”、“打印学生基本信息”等。
……