一、问题
编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。
实现思路及关键代码:
1)定义乐器类Instrument,包括方法makeSound ()
2)定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin
3)定义乐手类Musician,可以弹奏各种乐器play (Instrument i)
4)定义测试类,给乐手不同的乐器让他弹奏
二、代码
public class Test1{
public static void main(String[] args){
Musician m = new Musician();
Erhu e = new Erhu();
Piano p = new Piano();
Violin v = new Violin();
m.play(e);
m.play(p);
m.play(v);
}
}
//乐手类
public class Musician{
public void play(Instrument i){
i.makeSound();
}
}
//乐器类
public class Instrument{
public void makeSound(){
System.out.println("The musician is playing ... now");
}
}
public class Erhu extends Instrument{
public void makeSound(){
System.out.println("The musician is playing Erhu now");
}
}
public class Piano extends Instrument{
public void makeSound(){
System.out.println("The musician is playing piano now");
}
}
public class Violin extends Instrument{
public void makeSound(){
System.out.println("The musician is playing Violin now");
}
}