免费智能真题库 > 历年试卷 > 软件设计师 > 2015年上半年 软件设计师 下午试卷 案例
  第6题      
  知识点:   Java   类图

 
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某图书管理系统中管理着两种类型的文献:图书和论文。现在要求统计所有馆藏文献的总页码(假设图书馆中有一本540页的图书和两篇各25页的论文,那么馆藏文献的总页码就是590页)。采用Visitor(访问者)模式实现该要求,得到如图6-1所示的类图


Java 代码】
import java.util.*;
interface LibraryVisitor {
 (1)  :
 (2)   :
void printSum();
}
class LibrarySumPrintVisitor implements LibraryVisitor { //打印总页数
private int sum = 0;
public void visit(Book p_book) {
sum = sum + p_book.getNumberOfPages();
public void visit(Article p_article) {
sum = sum + p_article.getNumberOfPages0;
}
public void printSum(){
System.out.println("SUM = " + sum);
}
}
interface LibraryItemInterface {
(3) ;
}
class Article implements LibraryItemInterface{
private String m_title; //价仑文名 。
private String m_author; //仑文作者
private int m_start_page;
private int m_end_page;
public Article(String p_author, String p_title,int p_start_page,int p_end_page){
m_title=p_title;
m_author= p_author;
m_end_page=p_end_page;
}
public int getNumbelOfPages(){
rctum m_end_page - m_start_page;
}
public void acccpt(LibraryVisitor Visitor){
(4) :
}
}
class Book implements LibraryItemInterface{
private String m_title; //书名
private String m_author; //书作者
private int m_pages; //页教
public Book(String p_author, String p_title,int p_ pages){
m_title= p_title;
m_author= p_author;
m_pages= p_pages;
}
public int getNumberOfPages(){
return m_pages;
}
public void accept(LibraryVisitor visitor){
(5)___;
}
}
 
问题:6.1   (15分)
阅读上述说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
 
 
 

   知识点讲解    
   · Java    · 类图
 
       Java
        Java语言起源于Oak语言,Oak语言被设计成能运行在设备的嵌入式芯片上。
        Java编译成伪代码,这需要一个虚拟机来对其进行解释,Java的虚拟机在几乎每一种平台上都可以运行。这实质上使得开发是与机器独立无关的,并且提供了通用的可移植性。
        Java把类的概念和接口的概念区分开来,并试图通过只允许接口的多继承来克服多继承的危险。
        Java的异常处理机制与C++的try/throw/catch相类似,但更加严密。在Java中,通过声明轻型线程来处理并发性,这些线程通过副作用和同步协议进行通信。
        Java Beans是组件,即类及其所需资源的集合,它们主要被设计用来提供定制的GUI小配件。
        Java中关于面向对象概念的术语有对象、类、方法、实例变量、消息、子类和继承。
 
       类图
        类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。
        类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。类图用于对系统的静态视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计建模时,通常以下述3种方式之一使用类图:对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
        作为静态视图的类图可以包含依赖、关联、泛化、组合、实现关系以及注解和约束等。
        (1)依赖关系是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
        (2)关联关系是一种结构关系,它描述了一组对象之间的链接关系。其中有一种特殊类型的关联关系,即聚集关系,它描述了整体与部分的结构关系。
        (3)泛化关系是一种一般—特殊关系,利用这种关系,子类可以共享父类的结构和行为。
        (4)实现关系是类之间的语义关系,其中的一个类制订了另一个类保证执行的契约。实现关系用于两种情况:在接口和实现它们的类或构件之间;在用例和它们的协作之间。
        (5)组合是聚集关系的变种,表示元素间更强的组合关系。各种关系图例如下图所示。
        
        各种关系图例
   题号导航      2015年上半年 软件设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第6题    在手机中做本题