全部科目 > 软件设计师 >
2012年上半年 上午试卷 综合知识
第 38 题
知识点 面向对象的基本概念   封装   复用   角色   软件复用  
关键词 封装   软件复用  
章/节 面向对象基础知识  
 
 
以下关于封装在软件复用中所充当的角色的叙述,正确的是(38)。
 
  A.  封装使得其他开发人员不需要知道一个软件组件内部如何工作
 
  B.  封装使得软件组件更有效地工作
 
  C.  封装使得软件开发人员不需要编制开发文档
 
  D.  封装使得软件组件开发更加容易




 
 
相关试题     面向对象基础知识 

  第37题    2020年下半年  
面向对象程序设计语言C++、JAVA中,关键字( )可以用于区分同名的对象属性和局部变量名。

  第45题    2012年上半年  
设计模式中的(45)模式将对象组合成树形结构以表示“部分-整体”的层次结构, 使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其..

  第45题    2023年下半年  
在有些程序设计语言中,过程调用和响应调用需执行的代码的绑定直到运行时才进行,这种绑定称为(39)。

 
知识点讲解
· 面向对象的基本概念
· 封装
· 复用
· 角色
· 软件复用
 
        面向对象的基本概念
               Peter Coad和Edward Yourdon提出用下面的等式识别面向对象方法,即
               面向对象=对象+分类+继承+通过消息的通信
               可以说,采用这4个概念开发的软件系统是面向对象的。
               对象
               在面向对象的系统中,对象是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操作(行为),所以一个对象把属性和行为封装为一个整体。封装是一种信息隐蔽技术,它的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。从程序设计者来看,对象是一个程序模块;从用户来看,对象为他们提供了所希望的行为。在对象内的操作通常叫做方法。一个对象通常可由对象名、属性和操作三部分组成。
               消息
               对象之间进行通信的一种构造叫做消息。但一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象经过解释,然后予以响应,这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
               类
               一个类定义了一组大体上相似的对象,一个类所包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象是类的具体化、是类的实例。通常把一个类和这个类的所有对象称为"类及对象"或对象类。
               继承
               继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
               一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性和操作。一个子类可以继承它的父类(或祖先类)中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义自己的属性和操作。
               如果一个子类只从一个父类得到继承,叫做"单重继承";如果一个子类有两个或更多个父类,则称为"多重继承"。
               多态
               不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。在使用多态的时候,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定,这样,把具有通用功能的消息存放在高层次,而把不同的实现这一功能的行为放在较低层次,在这些低层次上生成的对象能够给通用消息以不同的响应。
               多态有几种布控的形式,Cardelli和Wegner把它分为四类,即
               
               其中,参数多态和包含多态称为通用的多态,过载多态和强制多态称为特定的多态。包含多态在许多语言中都存在,最常见的例子就是子类型化,即一个类型是另一个类型的子类型。过载多态是同一个变量被用来表示不同功能而通过上下文以决定一个名字所代表的功能。
               动态绑定
               绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般程序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合是到调用发生时才进行的。
               动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。
 
        封装
        面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流,外部不能对对象中的数据随意地进行访问,这就造成了对象内部数据结构的不可访问性,也使得数据被隐藏在对象中。封装的优点体现在以下三个方面。
        (1)好的封装能减少耦合。
        (2)类内部的实现可以自由改变。
        (3)一个类有更清楚的接口。
 
        复用
        软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。构件技术是软件复用实现的关键。
 
        角色
        考虑一个有很多出纳的银行。每一个出纳必须对同一组关系具有同种类型的权限。无论何时指定一个新的出纳,他都必须被单独授予所有这些授权。
        一个更好的机制是指明所有出纳应该有的授权,并单独标示出哪些数据库用户是出纳。系统可以用这两条信息来确定每一个有出纳身份的人的权限。当一个人被新雇佣为出纳时,必须给他分配一个用户标识符,并且必须将他标示为一个出纳,而不需要重新单独给予出纳权限。
        角色(role)的概念可用于该机制。在数据库中建立一个角色集,和授予每一个单个用户一样,可将权限授予角色。分配给每个数据库用户一些他(或她)有权扮演的角色(也可能是空的)。
        事实上,在银行的数据库里,角色的例子可以包括system-administrator、branch-manager、teller和auditor。一个不是很合适的方法是建立一个teller用户号,允许每一个出纳用这个出纳用户号来连接数据库。该机制的问题是它无法鉴别出到底哪个出纳执行了事务,从而导致安全隐患。应用角色的好处是需要每个用户用自己的用户号连接数据库。
        任何可以授予一个用户的权限都可以授予一个角色。给用户分配角色就跟给用户授权一样。与其他授权一样,一个用户也可以被授予给他人分配角色的权限。这样,可以授予支行经理(branch-manager)分配出纳角色的权限。
 
        软件复用
        软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。复用是提高软件生产力和质量的一种重要技术。
        软件复用的主要思想是,将软件看成是由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具。这样,如果完成各种工作的组件被建立起来以后,编写某一特定软件的工作就变成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。
        早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。
        由于面向对象方法的主要概念及原则与软件复用的要求十分吻合,所以该方法特别有利于软件复用。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有