阅读以下说明和Java程序,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
对部分乐器进行建模,其类图如下图所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。
类图
下面是实现上述设计的Java代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏和调音等操作。
[Java代码]
enum Note{/*枚举各种音调*/
MIDDLE_C,C_SHARP,B_FLAT;
//其他略
}
interface
Instrument {/*接口,乐器*/
______;
//play方法接口
void adjust();
//adjust方法接口
}
class Wind ______
{
public void
play(Note n) { System.out.println("Wind.play()"+n); }
public void adjust()
{System.out.println("Wind.adjust()");}
}
/*类Percussion和Stringed实现代码略*/
class Brass ______
{
public void
play(Note n) {System.out.println("Brass.play()"+n); }
public void
adjust(){System.out.println("BrasS.adjust()");)
}
Class Woodwind
extends Wind{
publicvoidplay(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(______ e){
for(Instrument
i:e){
adjust(i);
tune(i);
}
}
public Static void
main(String[] args){
Music music=
______ Music();
Instrument[]
orchestra={new Wind(), new Woodwind() };
music.tuneAll(orchestra);
}
}本程序运行后的输出结果为:
Wind.adjust() Wind.play() MIDDLE_C Wind.adjust() Woodwind.play()MIDDLE_C


