当前位置:文档之家› 第3章 面向对象得软件开发技术

第3章 面向对象得软件开发技术

第3章 面向对象得软件开发技术
第3章 面向对象得软件开发技术

第3章面向对象得软件开发技术

一、选择题

1.对象是面向对象开发方法的基本成分,每个对象可用它的一组( )和它可以执行的一组操作来定义。

A.服务

B.参数

C.属性

D.调用

2.我们把具有共同属性、共同操作性质的对象的集合定义为()。

A.类

B.属性

C.对象

D.消息

3.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有多层,可以有子类,这种层次结构系统的一个重要性质是一个类可以获得其父类的全部描述(数据和操作),即()。

A.传递性

B.继承性

C.复用性

D.并行性

4.软件的内部实现与外部可访问性分离,这是指软件的()

A.继承性

B.共享性

C.封装性

D.抽象性

5.面向对象程序设计语言不同于其他语言的最主要特点是()。

A.模块性

B.抽象性

C.共享性

D.继承性

6.不属于消息的性质的是()。

A.同一对象可接收不同形式的多个消息,产生不同的响应

B.相同形式的消息可以送给不同对象,所做出的响应可以是截然不同的

C.消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以对消息不予理会,对消息的响应并不是必须的

D.可以做一些特定的操作,改变系统状态的消息

7.通过执行对象的操作改变该对象的属性,但它必须通过()的传递。

A.接口

B.消息

C.信息

D.操作

8.在确定类时,候选的类是所有的()。

A.名词

B.形容词

C.动词

D.代词

9.同一类中有相同的数据结构,这种共享方式是()。

A.不同应用的共享

B.同一应用的共享

C.不同类的共享

D.同一类的共享

10.类库这种机制的共享方式是()。

A.不同应用的共享

B.同一应用的共享

C.不同类的共享

D.同一类的共享

11.在面向对象方法中,信息隐藏的实现是通过对象的()。

A.分类性

B.继承性

C.封装性

D.共享性

12.在只有单重继承的类层次结构中,类层次结构是()。

A.星形层次结构

B.环形层次结构

C.树形层次结构

D.网状形层次结构

13.在有多重继承的类层次结构中,类层次结构是()。

A.树形层次结构

B.网状形层次结构

C.星形层次结构

D.环形层次结构

14.在一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出现出不同的行为的特性为()。

A.多态性

B.继承性

C.封装性

D.抽象性

15.汽车有一个发动机,汽车和发动机之间的关系是()。

A.一般具体关系

B.整体部分关系

C.分类关系关系

D.is a 关系

16.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是()。

A.组装关系

B.整体部分关系

C.has a 关系

D.一般具体关系

17.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫()。

A.生存期

B.面向对象设计

C.面向对象程序设计

D.面向对象分析

18.应用执行对象的操作可以改变该对象的()。

A.属性

B.功能

C.行为

D.数据

19.在确定属性时,候选的属性是所有的()。

A.动词

B.名词

C.修饰性名词词组

D.词组

20.在面向对象的设计中,应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有()。

A.隐藏复杂性

B.信息隐藏

C.经常类的复用

D.类的开发

二、填空题

1.结构化设计方法的本质是_________,面向对象程序设计方法则是用_________取代功能分解。

2.所有对象都可以划分为不同的对象类,每个对象类都定义了一组_________和一组_________。

3.对象具有很强的_________能力和_________功能。

4.对象是其自身所具有的_________及可以对这些状态施加的_________结合在一起所构成的独立实体。

5.对象的操作是通过向目标对象_________来实现的。

6.在面向对象方法中将对对象的处理称为_________,它包括控制和操作过程。7.对象之间进行_________的构造叫做消息,类中操作实现的过程叫做_________。

8在日常生活中,“类”是对一组客观对象的抽象,它将该组对象所具有的共同特征、包括_________和_________集中起来,以说明该组对象的能力和性质。

9.类包含两方面的内容:_________和_________。

10.一个类可以有它的上层类或是下层类。上层类称为_________,下层类称为_________。一般情况下类层次结构是_________。

11面向对象方法最突出的特性是_________、_________和_________。

12.在面向对象系统中封装的单位是_________。

13.在面向对象方法中,信息隐藏通过对象的_________来实现。类结构分离了_________与_________,从而支持了信息隐藏。

14.子类只继承_________的属性和操作,称为单重继承性。

15.继承有单重继承和多重继承。单重继承指的是_________,在一个类层次结构中,若只有单重继承,则该类层次结构是_________。多重继承指的是_________,在一个类层次结构中,若有多重继承,则该类层次结构是_________。

16.多态性主要表现在_________和_________这样两个重要的技术特征上。

17.在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的关系,即_________关系,_________关系。

18.对象的关联具体表示有两类,一类是对象之间的_________,用_________表示;另一类是对象之间的_________,用_________表示。

19.消息连接分为两类:即_________中的消息和_________中的消息。

20.Meyer提出了模块结构5条基本的设计原则是_________、_________、_________、_________和_________。

三、名词解释

1、实体

2、对象

3、服务

4、消息

5、类

6、封装

7、继承性 8、单重继承 9、多重继承

10、多态性 11、重载 12、动态绑定

13、一般一特殊关系 14、整体一部分关系 15、消息连接

四、简答题

1、什么是面向对象程序设计方法?

2、简述对象与传统的数据的区别。

3、如何区分公有消息和私有消息?它们有谁分送?

4、简述Yourdon提出的面向对象分析方法经历的过程。

5、简述Meyer提出了模块结构5条基本设计原则。

6、简述面向对象测试的主要特点。

五、应用题

1、一本书有一个封面、一个前言、一个目录、若干章,每章有若干节,每节有

若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后还有一个封底。试建立该书的对象模型。

2、交通工具分为空中、陆上、水上交通;空中交通工具分为客机、货机、专用

轻型机;陆上交通工具分为火车、汽车;火车和汽车又分客车、货车;水上交通工具是轮船,轮船分为客轮、货轮。试建立交通工具的对象模型。

参考答案

一、选择题

1.C

2.A

3.B

4.C

5.D

6.D

7.B

8.A

9.D 10.A

11.C 12.C 13.B 14.A 15.B

16.D 17.D 18.A 19.C 20.B

二、填空题

1、功能分解;对象分解

2、数据;方法

3、表达;描述

4、状态特征;操作

5、传递消息

6、服务

7、通信;方法

8、结构特征;行为特征

9、外部特征;内部实现

10、超类;子类;树型结构

11、封装性;继承性;多态性

12、对象

13、封装性;接口;实现

14、一个超类(父类)

15、子类继承了一个父类的性质;树型层次结构;子类继承了多个父类的性质;网状层次结构

16、重载;动态绑定

17、一般一特殊;整体一部分

18、静态关系;实例连接;动态关系;消息连接

19、顺序系统;并发系统

20、语言模块单元;少的接口(弱的耦合);明确的接口;信息隐藏

三、名词解释

1、实体是客观存在的事物。

2、对象是指人们要进行研究的任何事件,它不仅能具体的事物,还能表示抽象的规则、计划或事件,主要的事件类型有有形实体、作用、事件、性能说明。

3、服务是指在面向对象方法中对对象的处理。

4、对象之间进行通信的构造叫做消息。

5、类是具有共同属性、共同操作性质的对象的集合。

6、封装就是将某事物包围起来,使外界不知到其实际内容。

7、继承性是指任何一个对象都是某一个对象都是某一个类的实例,它继承该类定义的数据结构和服务功能。

8、单重继承是指在类层次中,子类只继承一个父类的数据结构和方法。

9、多重继承是指在类层次中,子类继承了多个父类的数据结构和方法。

10、多态性是指在一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出不同的行为。

11、重载是指在特殊类中对继承来的属性或服务重新进行定义。

12、动态绑定也称为动态联编,即指在运行时根据对象接收的消息动态地确定要连接哪一段服务代码。

13、一般一特殊关系称为分类结构,也可以说是“或”关系,类的这种层次结构可用来现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体。越细化。

14、整体一部分关系称为组装结构,也可以说是“与”关系。类的这种层次结构可用来描述现实世界中的类的组成的抽象关系,通常越在上层的类越具有整体性、越在下层的类越具有成员性。

15、消息连接表示对象之间进行通信联系的路径(通道),它表示的是对象之间的动态联系。

四、简答题

1、面向对象程序设计方法是模拟人类习惯的解题方法,用对象分解取代功能分解,也就是把程序分解成许多对象,不同对象之间通过发送消息向对方提出服务要求,接收消息的对象主动完成指定功能,程序中的所有对象分工协作,共同完成整个程序的功能。只要告诉对方“做什么”,而不必告诉对方“怎么做”。

2、对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须发消息请求对象执行它的某个操作,处理它的私有数据,而不能从外界直接对对象的私有数据进行操作。也就是说,一切局部于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个不透明的黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。

3、若有一批消息同属于一个对象,其中有一部分是由外界对象直接向它发送的,称之为公有消息;还有一部分则是它自己向本身发送的,这些消息是不对外开放的,外界不必了解它,称之为私有消息。外界对象向此对象发送消息是只能发送公有消息,而不能发送私有消息,私有消息是由其自身发送的。

4、Yourdon提出的面向对象分析方法包括几个步骤:

(1)确定对象:要识别问题空间里的对象,可以先对要建立的系统进行描述,然后对这一描述进行语法分析,在每个名词或名词短语下面画上横线,将它填进一张简单的表里,就可以确定对象。

(2)确定结构:在Yourdon的面向对象分析方法中提出两类结构。一类称为分类结构,定义一个对象的分类结构就是定义和命名这个对象的多个实例,对象与其实例间是一种一般一特殊的关系;另一类结构称为组装结构,是指一个对象可能由多个构件组成,而其中每个构件都可以定义为对象。对象与组成它的对象间是整体一部分的关系。

(3)定义主题:主题只是一个参照符号或指针,指向分析模型中的细节。一个真正的面向对象分析模型可能含有几百个对象和几十个结构,如果它们同时在一个平面上铺开来,很难弄清它们之间的关系。因此定义一些精练的表示形式,作为这些对象和结构的“摘要”是非常必要的。

(4)确定关联:对象并不存在于真空中。因此分析这应该定义模型中每个对象的关系。确定联系是一种定义一个对象实例之间的特定关系的建模过程。它包括定义属性和实例联系于定义操作和消息联系两类。

5、Meyer提出了模块结构5条基本的设计原则如下:

(1)语言模块单元:当模块对应于所用编程语言中的语法单元时,被定义为语言模块单元。也就是说,所采用的编程语言应该能够直接支持定义的模块。(2)少的接口:为了达到低耦合,模块间的接口的数目必须减到最少。

(3)小的接口(弱的耦合):即通过一个接口的信息量必须尽可能少。

(4)明确的接口:当模块间通信时,必须采用一种明显直接的方式。

(5)信息隐藏:当所有关于模块的信息对外不存取(除非信息被专门定义作为公共信息)隐藏起来,就实现了信息隐藏。

6、面向对象测试的主要特点如下:

(1)利用对象的封装性。测试以对象类为基础单位进行。测试只需针对类定义范围内的属性和服务、以及有限的对外接口所涉及的部分即可。

(2)利用对象的继承性。若父类已被测试或父类时可重用构件,则对子类的测试重点只是那些新定义的属性和服务。

五、应用题

1、书的对象模型如图3.1所示。

2、交通工具的对象模型如图3.2所示。

面向对象软件开发教程

软件是在代码之外发生的一切事情。 如何继续学习过程 你将从本章学到什么? 两千年后(P2K)的软件环境是什么样的? P2K软件环境中的技术和技能是什么?有关P2K技能和技术有哪些概述性的资源?软件专家在面向对象项目中充当什么角色/职位? 如何继续面向对象的学习过程? 为什么需要阅读本章? 你的技能,以及如何使用它们,是能否成为成功的软件专家的重要决定性因素。通过阅读本书,你会获得学习对象技术和技巧所需的基本知识,本章也给你提供了继续进一步学习过程的建议。 至此,你已经了解了面向对象的全部内容,现在你已经是一名准备开发大型、关键性任务软件的对象专家。好吧,现在你还不全是。实际上,你已经掌握了一些有用的概念和技能,也明白了它们如何一起使用,在浏览复习题以及案例学习的过程中,你已经使用了它们。目前你正处在有利地位,可以继续你的学习过程,这个过程将很可能贯穿你的整个职业生涯。本章给出了对软件业目前的状况以及将来的发展方向的见解,在接下来的几年中将会需要什么样的技能,要如何才能获得这些技能。 11.1 P2K 环境 在你的整个职业生涯中一直要学习新的技能。 软件业在20世纪90年代后半期被Y2K危机严重影响了,新的开发被耽搁下来或者干脆取消,以转移资源解决Y2K危机,结果,许多企业都推迟了对采用新的技术和技能的投资。现在 Y2K危机已经过去了,我们正面对着两千年后(P2K)的软件环境,一个使用本书中描述的技术支配的环境。 在P2K环境中,你将会应用新的方法,例如面向对象的和基于组件的方法,采用迭代和增 量方法的新的开发过程,像Java和CORBA这样新的技术,以及像用况建模这样新的技术。本 书概述了对象开发技术,本节也总结了用于P2K环境的关键技术和技能。要理解P2K环境, 必需考虑下面几项内容:

面向对象的软件开发方法简介

1面向对象的软件开发方法简介 面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。面向对象的开发方法具有以下优点。 ●把软件系统看成是各种对象的集合,这更接近人类的思维方式。 ●软件需求的变动往往是功能的变动,而功能的执行者——对象一般不会有大的变 换。这使得按照对象设计出来的系统结构比较稳定。 ●对象包括属性(数据)和行为(方法),对象把数据和方法的具体实现方式一起封 装起来,这使得方法和与之相关的数据不再分离,提高了每个子系统的相对独立性, 从而提高了软件的可维护性。 ●支持封装,抽象,继承和多态,提高了软件的可重用性,可维护性和可扩展性。 1.1 对象模型 在面向对象的分析和设计阶段,致力于建立模拟问题领域的对象模型。建立对象模型既包括自底向上的抽象过程,也包括自顶向下的分解过程。 1.自底向上的抽象 建立对象模型的第一步是从问题领域的陈述入手。分析需求的过程与对象模型的形成过程一致,开发人员与用户交谈是从用户熟悉的问题领域中的事物(具体实例)开始的,这就使用户和开发人员之间有了共同语言,使得开发人员能够彻底搞清用户需求,然后再建立正确的对象模型。开发人员需要进行以下自底向上的抽象思维。 ●把问题领域中的事物抽象为具有特定属性和行为的对象。 ●把具有相同属性和行为的对象抽象为类。 ●若多个类之间存在一些共性(具有相同属性和行为),把这些共性抽象到父类中。 再自底向上的抽象过程中,为了使子类能更好的继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。由于这类体系的构造是从具体到抽象,再从抽象到具体,符合人们的思维规律,因此能够更快,更方便的完成任务。 2.自顶向下的分解 再建立对象模型的过程中,也包括自顶向下的分解。例如对于计算机系统,首先识别出主机对象,显示器对象,键盘对象和打印机对象等。接着对这些对象再进一步分解,例如主机对象有处理器对象,内存对象,硬盘对象和主板对象组成。系统的进一步分解因有具体的对象为依据,所以分解过程比较明确,而且也相对容易。因此面向对象建模也具有自顶向下开发方法的优点,既能有效的控制系统的复杂性,又能同时避免结构化开发方法中功能分解的困难和不确定性。 1.1.2UML:可视化建模语言 面向对象的分析与设计方法,在20世纪80年代末至90年代中发展到一个高潮。但是,诸多流派在思想和术语上有很多不同的提法,对术语和概念的运用也各不相同,统一是继续发展的必然趋势。需要有一种统一的符号来描述在软件分析和设计阶段勾画出来的对象模型,UML(Unified Modeling Language,统一建模语言)应运而生。UML是一种定义良好,易于表达,功能强大且普遍适用的可视化建模语言。而采用UML语言的可视化建模工具是Rational 公司开发的Rational Rose。 1.2 面向对象开发中的核心思想和概念 在面向对象的软件开发过程中,开发者的主要任务就是先建立模拟问题领域的对象模型,然后通过程序代码来实现对象模型,如何用程序代码来实现对象模型,并且保证软件系统的可重用性,可扩展性和可维护性呢?本节节主要阐述面向对象开发的核心思想和概念,这些核心思想为从事面向对象的软件开发实践提供理论武器。

面向对象程序设计概述

1.什么是结构化程序设计方法?这种方法有哪些优点和缺点? 【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。结构化程序设计的思路是:自顶向下、逐步求精。程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。 虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。 2.面向对象程序设计有哪些重要特点? 【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。它主要具有如下重要特点: (1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。 (2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。 (3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。

JAVA语言与面向对象程序设计课后习题答案

第1章面向对象软件开发概述 1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。 答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以―对象‖为主体,―对象‖是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 面向过程的编程语言:C,Pascal,Foratn。 面向对象的编程语言:C++,Java,C#。 2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。 答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如―电视机‖,那么对象就是某一个具体的电视机,如―我家那台电视机‖。 3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象―学生‖,试为这个对象设计状态与行为。 答:对象都具有状态和行为。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。 行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。 学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等; 学生的行为:自我介绍、入学注册、选课、参加比赛等。 4.对象间有哪三种关系?对象―班级‖与对象―学生‖是什么关系?对象―学生‖与对象―大学生‖是什么关系? 答:对象间可能存在的关系有三种:包含、继承和关联。 对象―班级‖与对象―学生‖是包含关系。 对象―学生‖与对象―大学生‖是继承关系。 5.有人说―父母‖和―子女‖之间是继承的关系。这种说法是否正确?为什么? 答:―父母‖和―子女‖之间不是面向对象意义上的―继承‖关系。因为这里的继承关系是―is a‖的关系,―男人‖与―人‖之间可以说是继承关系。 6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作? 答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。 面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。 面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。 7.面向对象的程序设计方法有哪些优点? 答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,

面向对象的软件开发过程

面向对象的软件开发过程 【摘要】本文介绍了面向对象技术的基本思想,阐述了面向对象软件开发的分析与设计实现过程,说明了面向对象技术在软件开发中的应用,总结出面向对象技术在程序开发中的优势。 【关键词】面向对象;软件开发 1面向对象技术的基本思想 随着计算机应用领域的不断扩大,软件的规模和复杂性也在不断增加,我们需要按照更科学、有效的方法组织软件的生产与管理。面向对象技术首先在编程领域兴起,并逐渐发展成熟,并随着面向对象的测试、集成等技术的出现而发展为一套贯穿整个软件生命周期的方法体系。 面向对象技术首先在编程领域兴起,并逐渐发展成熟,并随着面向对象的测试、集成等技术的出现而发展为一套贯穿整个软件生命周期的方法体系。面向对象方法的基本思想是:从客观存在的事物(即对象) 出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。 具体地讲,面向对象技术是从问题域中客观存在的事物出发构造软件系统,用对象作为这些事物的抽象表示,并以此作为系统的基本构成单位。每个对象都有其属性和方法,属性表示事物的静态特征, 方法表示事物的动态特征。对象的属性和方法结合为一体,对外屏蔽其内部细节,称作封装。把具有相同属性和相同方法的对象归为一类,类是对象的抽象描述,每个对象是它所属类的一个实例。通过在不同程度上运用抽象的原则,可以得到基类和子类,子类继承基类的属性和方法。 面向对象的三个基本特征: 封装——是把客观事物封装成抽象的类,可以隐藏实现细节,使得代码模块化; 继承——使用现有类的所有功能,并在无需重写原来类的情况下对这些功能进行扩展; 多态——指同一消息作用于不同的对象时,具有不同的处理方案和处理结果,即所谓的“同一接口, 多种方法”,增强了程序的灵活性。 2面向对象的分析与设计实现 面向对象的程序设计以解决的问题中所涉及的各种对象为主要矛盾,力图从实际问题中抽象出封装了数据和操作的对象,通过定义属性和操作来表述他们的特征和功能,定义接口来描述他们的地位及与其他对象的关系,最终形成一个可理解、可扩充、可维护的动态对象模型。面向对象的软件开发过程可以大体划分为面向对象的分析,面向对象的设计,面向对象的实现三个阶段。 2.1面向对象的分析 面向对象的分析主要作用是明确用户的需求,并用标准化的面向对象的模型规范来表述这一需求,最后形成面向对象的分析模型。图1展示的是面向对象系统分析示意图。 图1面向对象系统分析示意图 面向对象的分析分为如下几步: 2.1.1确定需求 明确用户的需求,包括对用户需求的全面理解和分析;明确所要开发的软件系统的职责界限;进行可行性研究和制订方案,交给用户确认。

面向对象的分析过程

面向对象的分析过程 摘要 分析了面向对象技术应用于仿真领域的种种优点,亦即我们选择采用面向对 象的方法进行改造的原因。一些面向对象方法存在的不足。 关键词:仿真,面向对象,岸边集装箱起重机,训练器 面向对象的开发方法是以对象作为最基本的元素,它是分析问题、解决问题的核心。 面向对象=对象(Object) +分类(classification) +继承(inheritance) +通过消息的通信(communication with messages) 从下图中我们可以看出,面向对象的开发方法明显不同。 面向对象的仿真为仿真人员提供了开发模块化可重用的仿真模型的工具,它把系统看成由相互作用的对象所组成,而对象则往往表示现实系统中的真实实体。从而提高了仿真模型的可理解性、可扩充性和模块性,并且便于实现仿真与计算机图形和人工智能的结合。采用面向对象的方法,原因如下: 1.可理解性 面向对象仿真对设计者、实现者,以及最终用户来说都改进了仿真的可理解性。因为仿真系统中的对象往往直接表示现实系统中的真实实体,这些实体在面向对象的仿真系统中可以用外观上类似于人们熟悉的实际系统的对象的图形或图像来表示,用户可以通过图形界面与仿真模型进行交互,利用图形或图像来直接建立仿真模型,这对于熟悉实际系统的用户来说是很容易理解的。 2.可重用性和可扩充性 在面向对象的仿真中,可以建立起一个模型库用以保存以前建立的模型,模型库中的模型可以作为建立新模型的可重用构件,通过面向对象技术内在的继承机制可以容易地和系统地修改现有的对象(类)以创建新的对象。并且可以加入现有的类库中。类库提供了仿真建模所需要的一般设施。通过修改现有的类,可以建立各种应用中所需要的特殊对象。 3.模块性 面向对象的仿真是模块化,特殊的过程来寻找相应的信息,不会影响其它的对象。 4.图形用户界面

面向对象方法题库1-0-5

面向对象方法题库1- 0-5

问题: [单选]当()时,用例是捕获系统需求最好的选择。 A.系统具有很少的用户 B.系统具有很少的接口 C.系统算法复杂,功能单一 D.系统有很多参与者 用例描述的是系统的执行者(参与者)与系统的交互,同时也是开发人员与用户进行交流的工具,可用来很好地定义系统的边界。所以,当执行者较多的时候,用例是捕获系统需求最好的选择。

问题: [单选]对OO系统的技术度量的识别特征,Berard定义了导致特殊度量的特征。其中()抑制程序构件的操作细节,只有对访问构件必需的信息被提供给其他希望访问的构件。 A.局部化 B.封装 C.信息隐藏 D.继承 面向对象的软件和用传统方法开发的软件有本质的不同,为此,对OO系统的技术度量必须调整以适应那些区别OO和传统软件的特征。Berard定义了5个导致特殊度量的特征,分别是局部化、封装、信息隐蔽、继承和对象抽象技术。 (1)局部化。局部化是软件的一个特征,它指明信息在程序中被集中的方式,例如,针对功能分解的传统方法围绕功能局部化信息,它们典型地以过程模块来实现。数据驱动方法围绕特定的数据结构局部化信息。在OO语境中,信息是通过封装数据和处理在类或对象的边界内而集中的。因为传统软件强调函数为局部化机制,软件度量着重于函数的内部结构或复杂性(例如,模块长度、内聚性或环路复杂性等)或函数间相互连接的方式(例如,模块耦合)。因为类是OO系统的基本单位,所以,局部化是基于对象的,因此,度量应该应用于作为一个完全实体的类(对象)。此外,在操作(函数、方法)和类间的关系不必要是一对一的。因此,反应类协作方式的度量必须能够适应一对多和多对一的关系。

【项目管理知识】面向对象软件开发和过程

面向对象软件开发和过程 代码是核心 面向对象发展到今天,已经出现了许许多多的实践、方法和技术。很多的技术都能够有效的提高软件质量,而要用好这些技术,我们需要从过程和管理的角度来看待它们,而不是为了使用技术而使用技术。此系列文章包括:代码是核心、案例实战(上)、案例实战(下)、重用、优化代码的组织、针对契约设计、业务建模。 在一个有效的组织中,必定拥有杰出的一线人才。软件设计也是一样的,一线人才的素质决定了软件的质量。从敏捷的观点来看,代码是检验软件过程是否有效的终标准。目前为止,以及在短时间的未来,我们都不太可能完全脱 离代码进行软件设计。所以,软件过程中的任何一个活动都是为了能够产出的代码。所以,代码才是核心。 1.代码是软件开发的基础 编码是软件开发过程中基本、底层的技艺,然而也是重要的技艺。任何一个领域的专家都需要花费大量的时间来进行基本技艺的锻炼,木匠需要花费大量的时间来锻炼他们对各种工具的掌握,厨师则需要练习刀工和火候。程序员也是一样的,对我们来说,语言的各种特性必须要了然于胸。而对软件的管理也需要从代码做起。 从____ 年到现在,国内兴起了一股软件工程热,需求管理、配置管理、甚 至CMM。面对纷至沓来的各种方法学、UML、00A大家似乎已经热衷于这些概念本身了,却往往忽略了软件开发中基本的元素-代码。在和很多软件组织的接触过程中,我们认为大多数组织急切需要的并不是这些工程理论,不是说这些理论不重要,而是这些组织的症结不在于此。很多的组织连代码的质量都管理不好,又何谈其它呢?代码管理是基础的基础,从管理的角度上来看,任何一个组织的管理都需要一个从上至下的管理过程,有基层的管理人员,也有 高层的管理人员。对代码的管理就是软件开发中的基层管理,它起到的作用就是能够把需求、设计的思路贯彻到终的代码中。 "管理无大事"。对软件的管理也是一样,大部分的问题都是由于很小的原因 引起的。例如,一个产品如果后期在debug上花费了大量的时间,那么,这种现象是由于什么原因引起的?一种可能的原因是前期的代码设计中对代码质量的把握不严。每一次代码功能的演化并不会产生太多的问题,但是当代码累积

第3章 面向对象得软件开发技术汇总

第3章面向对象得软件开发技术 一、选择题 1.对象是面向对象开发方法的基本成分,每个对象可用它的一组( 和它可以执行的一组操作来定义。 A.服务 B.参数 C.属性 D.调用 2.我们把具有共同属性、共同操作性质的对象的集合定义为()。 A.类 B.属性 C.对象 D.消息 3.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有多层,可以有子类,这种层次结构系统的一个重要性质是一个类可以获得其父类的全部描述(数据和操作),即()。 A.传递性 B.继承性 C.复用性 D.并行性 4.软件的内部实现与外部可访问性分离,这是指软件的() A.继承性 B.共享性 C.封装性 D.抽象性 5.面向对象程序设计语言不同于其他语言的最主要特点是()。 A.模块性 B.抽象性 C.共享性 D.继承性 6.不属于消息的性质的是()。 A.同一对象可接收不同形式的多个消息,产生不同的响应 B.相同形式的消息可以送给不同对象,所做出的响应可以是截然不同的 C.消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以对消息不予理会,对消息的响应并不是必须的 D.可以做一些特定的操作,改变系统状态的消息 7.通过执行对象的操作改变该对象的属性,但它必须通过()的传递。 A.接口 B.消息 C.信息 D.操作 8.在确定类时,候选的类是所有的()。 A.名词 B.形容词 C.动词 D.代词

9.同一类中有相同的数据结构,这种共享方式是()。 A.不同应用的共享 B.同一应用的共享 C.不同类的共享 D.同一类的共享 10.类库这种机制的共享方式是()。 A.不同应用的共享 B.同一应用的共享 C.不同类的共享 D.同一类的共享 11.在面向对象方法中,信息隐藏的实现是通过对象的()。 A.分类性 B.继承性 C.封装性 D.共享性 12.在只有单重继承的类层次结构中,类层次结构是()。 A.星形层次结构 B.环形层次结构 C.树形层次结构 D.网状形层次结构 13.在有多重继承的类层次结构中,类层次结构是()。 A.树形层次结构 B.网状形层次结构 C.星形层次结构 D.环形层次结构 14.在一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出现出不同的行为的特性为()。 A.多态性 B.继承性 C.封装性 D.抽象性 15.汽车有一个发动机,汽车和发动机之间的关系是()。 A.一般具体关系 B.整体部分关系 C.分类关系关系 D.is a 关系 16.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是()。 A.组装关系 B.整体部分关系 C.has a 关系 D.一般具体关系

面向对象软件开发教程

软件是在代码之外发生的一切事情。 第11章 如何继续学习过程 你将从本章学到什么? ●两千年后(P2K)的软件环境是什么样的? ●P2K软件环境中的技术和技能是什么? ●有关P2K技能和技术有哪些概述性的资源? ●软件专家在面向对象项目中充当什么角色/职位? ●如何继续面向对象的学习过程? 为什么需要阅读本章? 你的技能,以及如何使用它们,是能否成为成功的软件专家的重要决定性因素。通过阅读本书,你会获得学习对象技术和技巧所需的基本知识,本章也给你提供了继续进一步学习过程的建议。 至此,你已经了解了面向对象的全部内容,现在你已经是一名准备开发大型、关键性任务软件的对象专家。好吧,现在你还不全是。实际上,你已经掌握了一些有用的概念和技能,也明白了它们如何一起使用,在浏览复习题以及案例学习的过程中,你已经使用了它们。目前你正处在有利地位,可以继续你的学习过程,这个过程将很可能贯穿你的整个职业生涯。本章给出了对软件业目前的状况以及将来的发展方向的见解,在接下来的几年中将会需要什么样的技能,要如何才能获得这些技能。 11.1 P2K环境 在你的整个职业生涯中一直要学习新的技能。 软件业在20世纪90年代后半期被Y2K危机严重影响了,新的开发被耽搁下来或者干脆取消,以转移资源解决Y2K危机,结果,许多企业都推迟了对采用新的技术和技能的投资。现在Y2K危机已经过去了,我们正面对着两千年后(P2K)的软件环境,一个使用本书中描述的技术支配的环境。 在P2K环境中,你将会应用新的方法,例如面向对象的和基于组件的方法,采用迭代和增

量方法的新的开发过程,像Java和CORBA这样新的技术,以及像用况建模这样新的技术。本书概述了对象开发技术,本节也总结了用于P2K环境的关键技术和技能。要理解P2K环境,必需考虑下面几项内容: ●新的软件策略。 ●使能技术。 ●领先的开发技术。 ●现代软件过程。 ●对象编程语言。 ●如何获得P2K技能。 定义 两千年后(P2K)环境(post-2000 environment):机构在IT部门内部部署的一系列技术和技能(大部分是基于面向对象和组件技术的)。 2000年(Y2K)危机(year 2000 crisis):软件组织在20世纪90年代未期要更新或替代那些使用两位数而不是四位数来存储年份的软件。 11.1.1 新的软件策略 21世纪初期将会由两项关键的软件策略来统治:企业应用集成(EAI)和电子商务。EAI 把全异的软件应用集成为一个整体以支持新的和复杂的业务过程。中间件和组件技术,例如下面这节里描述的CORBA和兼容COM+的工具也用于支持EAI。了解EAI的一个好去处是,也可以参考《Enterprise Application Integration》(Linthicum,2000)一书。包装技术是《Building Object Applications That Work》(Ambler,1998a)一书详细讲述的主题,对于EAI的开发者来说它也是一项重要的技能。 电子商务也称为基于Internet的商务,它关注于使用电子技术支持产品销售和服务。电子商务成功的机构有,戴尔公司()—一个计算机软硬件零售商;亚马逊()—一个销售书、录像带、音乐CD的零售商;Ebay网()—一个在线拍卖网站。电子商务最好的资源是杂志《The Industry Standard》(),它以报纸和在线两种形式出版发行。 11.1.2 使能技术 除了11.1.5节描述的对象编程语言外,还有好几个使能技术也是P2K环境中占主导地位的技术。这些技术有: ● CORBA ● COM+ ● EJB(企业Java组件模型) ● XML ●持久层/框架

面向对象软件开发技术试题

面向对象软件编程技术试题 (工程硕士) 年级:姓名:成绩: 一、选择填空题(答案写在每题后面的括号内)(每题5分,共50分) 1.在面向对象方法中,对象可看成是属性(数据)以及这些属性上专用操作的封装体。封装是一种 A 技术,封装的目的是使对象的 B 分离。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个 C 。类之间共享属性和操作的机制成为 D 。一个对象通过发送 E 来请求另一对象为其服务。 A:①组装②产品化③固化④信息隐蔽() B:①定义和实现②设计和测试③设计和实现④分析和定义() C:①例证②用例③实例④例外() D:①多态性②动态绑定③静态绑定④继承() E:①调用语句②消息③命令④口令() 2.软件设计的常用方法有SADT方法、Jackson方法、快速原形方法和 OO设计方法等。其中,Jackson方法是一种面向数据结构的设计方法,其数据结构一般有 A 、 B 、 C 三类,并根据 D 来导出程序结构。OO方法的核心是 E ,这是提高可维护性的重要措施。 A: ①记录结构②顺序结构③指针④树() B: ①表结构②选择结构③数组④线性表() C: ①链表结构②列表③重复结构④队列结构() D:①数据结构②数据间的控制结构③数据流图④图() E:①结构化②继承性③信息隐藏④对象() 3.面向对象建模通常定义了三种模型,它们分别是对象模型、动态模型和功能模型。其中, A 模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时的行为上的系统的“控制”特征; B 模型描述了系统中对象的静态结构,以及对象之间的联系; C 模型描述了系统的功能“性质”,它指出了系统应该做什么。在建立动态模型中,通常先画出 D ,然后再画出 E 。

软件概要设计报告(面向对象)

软件概要设计报告 (面向对象) V1.0 项目号: 项目名称: 编制: 日期:

修订页

目录 1.Introduction 简介 (4) 1.1.Purpose 目的 (4) 1.2.Scope 范围 (4) 2.Level 0 Design Description第0层设计描述 (4) 2.1.Software System Context Definition 软件系统上下文定义 (4) 2.2.Design Considerations (Optional)设计思路(可选) (4) 3.Level 1 Design Description第一层设计描述 (5) 3.1.System Architecture系统结构 (5) 3.2.Decomposition Description分解描述 (5) 3.3.Dependency Description依赖性描述 (6) 3.4.Interface Description接口描述 (6) 4.Level 2 Design Description第二层设计描述 (6) 4.1.Module Name (1) 模块1名称 (6) 5.Database Design(Optional)数据库设计(可选) (7) 5.1.Entities Definition实体定义 (8) 5.2.Behaviors Definition行为定义 (8) https://www.doczj.com/doc/e48747031.html,ponent View组件视图 (8) 6.1.Executable Components系统运行组件 (8) 6.2.Source Code Directories文件组织形式 (9) 7.Process View进程视图 (9)

基于面向对象框架的软件开发方法

基于面向对象框架的软件开发方法 随着电子信息、计算机网络技术的快速发展,一些计算机软件需要软件工程师去开发,软件开发的方法至关重要。面向对象框架软件随着市场的需求量的增大,类型越来越多,给其开发技术方法提出了更高的要求,所以掌握面向对象框架的软件开发方法至关重要。本文根据个人的经验首先对框架的特征进行了教育分析,然后重点研究了基于面向对象框架的软件开发过程。 标签:面向对象框架软件开发方法 前言 在近些年,基于面向对象框架的软件开发方法随着市场需求量在不断增大,软件复用成为软件开发的重点项目之一。现在市场上的面向对象框架已经有不少了,但都是小型的模块组件,本文根据个人的经验来研究能复用的大型组件就是基于面向对象框架软件的开发方法。 一、框架的特征分析 1.模块化 为了让组件更具有模块性(化),要对框架多变封装,然后在利用固定接口来完成。框架模块化后,方便已有的软件维护和理解,也可以对应用程序的质量进行局部的改变。 2.可复用性 类属组件指的是框架的固定接口,新的应用程序的开发要依赖于类属组件,类属组件可以让框架软件的复用性在很大程度上加强。框架软件可复用性可以聘请专业知识强、经验丰富的开发工程师来避免软件的后续开发做重复工作,这样不仅可以把软件开发的效果提高,而且还能提升框架软件的功能性、可靠性及质量。 3.扩展性 框架软件应用程序固定接口的扩展性需要利用显示的钩子方法来实现,这样一来就可以大大提高框架本身的扩展性。框架根据需要要想制定新的应用程序服务必须要依靠框架的这种扩展特性。 4.反向控制 框架在运动体系中被称为“反向控制”,框架派发机制激活的事件处理对象可利用反向控制来一步步制定标准化的应用程序。框架(非应用程序)的外部事件

软件设计师-面向对象技术(二)

软件设计师-面向对象技术(二) (总分:29.00,做题时间:90分钟) 一、 (总题数:22,分数:29.00) 1.面向对象程序设计语言中提供的继承机制可将类组织成一个______结构,以支持可重用性和可扩充性。 (分数:1.00) A.栈 B.星形 C.层次√ D.总线 解析:面向对象程序设计语言中提供的继承机制可将类组织成一个层次结构,以支持可重用性和可扩充性。父类和子类便是一种层次关系,子类继承了父类的方法和属性以达到代码重用的目的,另一方面,子类可以有自己的不同于父类的属性和方法便于扩充。 2.在C++语言中,若类C中定义了一个方法intf(int a,int b),那么方法不能与该方法同时存在于类C 中。 (分数:1.00) A.int f(int x,int y) √ B.int f(float a,int b) C.float f(int x,float y) D.int f(int x,float y) 解析:该题其实考查的是形参和函数重载。 编译器视函数“int f(int a,int b)”和“int f(int x,int y)”为同一个函数,尽管两者的形参名称不一样,编译器只管形参的类型是不是一样。在VC 6.0中,若在同一个类中定义这两个函数,编译错误信息中会提示“member function already defined or declared”,即成员函数已定义或声明了。 对于在同一可访问区内(如同一个类中)被声明的几个具有不同参数列(参数的类型、个数、顺序不同)的同名函数,程序会根据不同的参数列来确定具体调用哪个函数,这种机制叫重载,重载不关心函数的返回值类型。这里,“重载”的“重”的意思不同于“轻重”的“重”,它是“重复”、“重叠”的意思。可见,B、C、D均与“int f(int a,int b)”构成重载。 另外,值得特别强调的是,重载不关心函数的返回值类型,在同一个类中,也不允许“int f(int a,int b)”、“float f(int a,int b)”两者同时存在,这两者不构成重载,编译器无法识别。 3.下面关于面向对象的描述正确的是______。 (分数:1.00) A.针对接口编程,而不是针对实现编程√ B.针对实现编程,而不是针对接口编程 C.接口与实现不可分割 D.优先使用继承而非组合 解析:“针对接口编程,而不是针对实现编程”这是面向对象程序设计的一条重要准则,遵循此原则有以下好处: ①使用者不必知道其使用对象的具体所属类;

面向对象的软件开发过程

第5章 面向对象的软件开发过程

5.1软件开发过程 软件开发过程 指开发软件产品的一整套活动,其中主要包括软件描述、软件开发、软件有效性验证和软件演化。不同的软件开发商,针对不同的开发项目可能会采用不同的方式组织上述4项活动的实施。

软件开发模型 软件开发模型是对软件开发的全过程、活动和任务的抽象描述。选择合适的软件开发模型将有利于提高软件开发的效率、软件产品的质量,以及日后的软件维护能力。

5.1.1软件开发面临的主要问题 软件开发主要面临以下几个迫切需要解决的问题:1.软件可靠性 软件可靠性是指软件系统能否在既定环境下运行并达到预期的结果。尽管通过对软件进行调试和测试可以排除大约40%的错误,任何人也不能保证任何一个软件产品没有错误。 2.软件生产率 计算机硬件的迅猛发展,带动了人们对软件需求的急剧增长。与计算机硬件的发展速度相比,软件的生产效率极其低下。

3.软件重用性 不同的应用领域要开发不同的应用软件,既使相同的应用目的也会由于需求上的微小差别,导致重新开发整个应用软件。 4.软件维护性 多么优秀的软件开发队伍也无法保证软件产品在使用过程中不会出现任何错误,因此,日后的维护工作将显得格外重要,而修改和完善软件产品在使用过程中显现出来的错误和不足之处是软件维护阶段的主要任务。

5.1.2软件的生命周期 软件工程将按照工程化的方法组织和管理软件的开发过程,具体地说,它将软件开发过程划分成若干个阶段,每个阶段按照制定的规范标准完成相应的任务。软件的生命周期是指从某个软件的需求被提出并开始着手开发到这个软件被最终废弃的整个过程。通常在这个过程中,应该包括制定计划、需求分析,系统设计、程序编码、系统测试、系统运行及维护阶段。

(完整版)面向对象程序设计与面向过程程序设计的区别1

面向对象程序设计与面向过程程序设计的区别 想要知道面向对象程序设计与面向过程程序设计的区别,我们应先了解什么事面向对象程序设计,什么事面向过程程序设计,这样我们才能弄清他们之间的区别,下面我们就什么是面向对象程序设计和什么事面向过程程序设计展开论述。 面向对象的基本概念: (1)对象。 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 (2)对象的状态和行为。 对象具有状态,一个对象用数据值来描述它的状态。 对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中 (3)类。 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。 (4)类的结构。 在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。 ①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。 ②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。 (5)消息和方法。 对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。 类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。 (1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)抽象性。 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性。

面向对象技术的概念与方法

面向对象技术的概念与方法1面向对象的基本概念 本节着重介绍面向对象的基本概念,也对相应的面向对象的技术方法的一些基本概念和方法做些说明和解释。 1.1 面向对象方法学的基本原则 面向对象方法学认为:客观世界是由各种“对象”所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式组成的。不同对象的相互作用就构成了我们要研究、分析和构造的客观系统。 面向对象方法学认为:通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的根据。 面向对象方法学认为:对于已分成类的各个对象,可以通过定义一组“方法”来说明该对象的功能,也即是:允许作用于该对象上的各种操作。对象间的相互联系是通过传递“消息”来完成的。 面向对象方法学比较自然地模拟了人类认识客观世界的方法。即应使描述问题的问题空间和解决问题的方法空间在结构上尽可能地一致。我们分析、设计和实现一个系统的方法尽可能接近我们认识一个系统的方法。 1.2 对象 面向对象技术是基于对象概念的。在现代汉语词典中,对象是行动或思考时作为目标的人或事物。 在思维科学中,对象是客观世界中具有可区分性的、能够唯一标识的逻辑单元。对象所代表的本体可能是一个物理存在,也可能是一个概念存在。 “面向对象”是计算机科学中的一个技术名词,具有其特定的技术含义。从面向对象的观点来看,现实世界是由各式各样独立的、异步的、并发的实体对象组成,每个对象都有各自的内部状态和运动规律,不同对象之间或某类对象之间的相互联系和作用,就构成了各式不同的系统。 面向对象方法是基于客观世界的对象模型化的软件开发方法。在面向对象程序设计中,所谓对象,就是一个属性集及其操作的封装体。作为计算机模拟真实

相关主题
文本预览
相关文档 最新文档