软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2014年上半年程序员考试下午真题试题(案例分析)
考试中心《2014年上半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2014年上半年
试题题型【分析简答题】
试题内容

阅读以下说明和Java程序,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。
【说明】
    对部分乐器进行建模,其类图如图6-1所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器( Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。
   

图6-1  类图
    下面是实现上述设计的Java代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏和调音等操作。
【Java代码】
enum Note{ /* 枚举各种音调 */
    MIDDLE_C, C_SHARP, B_FLAT;    //其他略
}
interface Instrument  { /* 接口,乐器 */
   (1) ;              //play方法接口
  void adjust() ;       //adjust方法接口
}
class Wind  (2)  {
  public void play(Note n) {  System.out.println("Wind.play()"+n);  }
  public void adjust()  {  System.out.println("Wind.adjust()");  }
}
/* 类Percussion和Stringet实现代码略 */
class Brass  (3)  {
  public void play(Note n)  {  System.out.println("Brass.play()"+n);  }
  public void adjust ()   {  System.out.println("Brass.adjust()");  }
}
class Woodwind extends Wind {
  public void play (Note n)  {  System.out.println("Woodwind.play()"+n);  }
}
public class Music  {
   void tune(Instrument_i)   {  i.play(Note.MIDDLE_C);  }
   void adjust(Instrument i)  {  i.adjust();  }
   void tuneAll  (4)  e ) {
    for(lnstrument i : e)   {
    adjust(i);
    tune(i);
  }
}
public static void main(String[] args)   {
  Music music= (5)  Music();
  Instrument[] orchestra={  new Wind(), new Woodwind()  };
  music.tuneAll(orchestra);
 }
}
本程序运行后的输出结果为:
Wind.adjust()
Wind.play() MIDDLE_C
Wind.adjust()
Woodwind.play() MIDDLE_C


相关试题

推荐文章
合作网站内容