试题7
阅读以下关于某绘图系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(6)空缺处的语句填写完整。(15分)
【说明】
某绘图系统存在Point、Line和Square 3种图元,它们具有Shape接口,图元的类图关系如图3-23所示。
![]() |
| 图3-23 某绘图系统部分图元的类图 |
|
Shape |
XCircle |
功 能 |
|
Display() |
DisplayIt() |
显示图元 |
class Circle (1) { |
试题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”。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||