频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

3.2.1 软考上午试题7及答案解析

作者: 郭春柱 出处:电子工业出版社易飞司公司  2007-10-18 15:13    砖    好    评论   进入论坛
阅读提示:《软件设计师考试考前冲刺预测卷及考点解析》依据最新版《软件设计师考试大纲》的考核要求,深入研究了历年软件设计师考试试题的命题风格和试题结构,对考查的知识点进行了提炼,并对案例进行了分类。本文为上午试题7及答案解析.

试题7
阅读以下关于某绘图系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(6)空缺处的语句填写完整。(15分)
【说明】
某绘图系统存在Point、Line和Square 3种图元,它们具有Shape接口,图元的类图关系如图3-23所示。

图3-23  某绘图系统部分图元的类图
现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来,它提供了的接口不被系统直接使用。【Java代码6-1】既使用了XCircle又遵循了Shape规定的接口,即避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。【Java代码6-2】根据用户指定的参数生成特定的图元实例,并对之进行显示操作。
该绘图系统定义的接口与XCircle提供的显示接口及其功能如表3-19所示。
表3-19  绘图系统定义的接口与XCircle显示接口功能表

Shape

XCircle

   

Display()

DisplayIt()

显示图元

【Java代码6-1】
class Circle   (1)  {
 private   (2)   pxc;
 public Circle () { 
pxc = new   (3)  ;
 }
 public void display(){
pxc.  (4)  ;
 }
}
【Java代码6-2】
public class Factory{
 public   (5)   getShapeInstance(int type){ //生成特定类实例
Switch(type){
 case 0:return new Point();
 case 1:return new Rectangle();
 case 2:return new Line();
 case 3:return new Circle();
 default:return null;
}
 }
};
public class App{
 public static void main(String argv[]){
if(argv.length !=1){
 System.out.println("error parameters!");
 return;
}
int type=(new Integer(argv[0])).intValue();
Factory factory=new Factory();
Shap s ;
s= factory.  (6) 
if(s==null){
 System.out.println("Error get instance!");
 Return;
}
s.display();
return;
 }
}

试题7要点解析

这是一道要求考生掌握Java接口的程序分析题。本试题的解答思路如下。

Java接口是用来实现类间多重继承功能的结构。它定义了若干个抽象方法和常量用以实现多重继承的功能。所谓多重继承,是指一个子类可以同时从多个父类继承其行为与特征的功能。该概念是与单一继承相对而言,单一继承是指一个子类只可以继承自一个父类。

Java语言不支持多重继承,只支持单重继承。然而在解决实际问题的程序设计中,仅靠单重继承尚不能解决更复杂的问题。为了使Java程序的类层次结构更加合理,更符合实际问题的需要,就把用于完成特定功能的若干属性组织成相对独立的属性集合。这种属性的集合就称为接口。

定义接口与定义类非常相似。实际上完全可以把接口理解成为一种特殊的类,接口是由常量和抽象方法组成的特殊类。一个类只能由一个父类,但是它可以同时实现若干个接口。这种情况下如果把接口理解成特殊的类,那么这个类利用接口实际上就获得了多个父类,即实现了多重继承。与类定义相仿,声明接口时也需要给出访问控制符,不同的是接口的访问控制符只有public一个。用public修饰的接口是公共接口,可以被所有的类和接口使用,而没有public修饰符的接口则只能被同一个包中的其他类和接口利用。接口也具有继承性。定义一个接口是可以通过extends关键字声明该新接口是某个已经存在的父接口的派生接口,它将继承父接口的所有属性和方法。与类的继承不同的是一个接口可以有一个以上的父接口,它们之间用逗号分隔,形成父接口列表。新接口将继承所有父接口中的属性和方法。

由试题给出的关键信息“某绘图系统存在Point、Line和Square3种图元,它们具有Shape接口……现要将Circle图元加入此绘图系统以实现功能扩充”可知,Circle图元也具有Shape接口,因此(1)空缺处所填写的内容是“implements Shape”。

由于【代码6-1】既使用了XCircle又遵循了Shape规定的接口,即要重用类XCircle而不是从头开发一个新的Circle类,因此,凡是类Circle实现Shape的接口时都调用相应的类XCircle所提供的方法,即(2)空缺处所填写的内容是“Xcircle”。
(3)空缺处所填写的内容是“Xcircle()”,以生成相应的XCircle的一个实例。
(4)空缺处所填写的内容是“displayIt()”,即调用displayIt()来实现Shape接口中的display方法。
仔细阅读【Java代码6-2】可知,(6)空缺处所在的语句通过调用factory对象的方法,而类factory只有一个方法为getShapeInstance,因此(6)空缺处应填入getShapeInstame(type),参数为用户运行程序时指定的参数(即该程序段中的type参数),表明需要生成哪一种类型的对象。
同理,由于s是Shape类型的引用,因此getShapeInstance的返回值类型为Shape,即(5)空缺处所填写的内容是“Shape”。

【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节
专题
2008年上半年全国软考最新试题、答案及点评
2008年4月全国计算机等级考试最新试题及答案
网管员考试模拟试题
清除“熊猫烧香”病毒专题
Ajax+JSP网站开发从入门到精通
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用