* 歌曲类
*/
public class Music {
public Music() {
super()
}
public Music(String song) {
super()
System.out.println("《"+song+"》")
System.out.println(".....多来米发所拉稀....")
}
}
/**
* 乐器接口,凡实现该接口的都游演奏的功能
*/
public interface Instrument {
public Music musical(String song)
}
/**
* 管弦类乐器
*/
public class Orchestral implements Instrument {
public Music musical(String song) {
System.out.println("下面用管弦类乐器演奏 "+song)
return new Music(song)
}
}
/**
* 弹奏类乐器
*/
public class Spiccato implements Instrument {
public Music musical(String song) {
System.out.println("下面用弹奏类乐器弹奏 "+song)
return new Music(song)
}
}
/**
* 其他类型乐器
*/
public class Other implements Instrument {
String instrument
public Other() {
super()
}
public Other(String instrument) {
this.instrument = instrument
}
public Music musical(String song) {
System.out.println("用 "+instrument+" 演奏的 "+song)
return new Music(song)
}
public static void main(String[] args) {
Other other = new Other("古筝")
other.musical("高山流水")
}
}
/**
* 笛子
*/
public class Fife extends Orchestral {
public Fife(String song) {
super.musical(song)
System.out.println("这是用横笛吹奏的 "+song)
}
}
/**
* 萨克斯
*/
public class Sax extends Orchestral {
public Sax(String song) {
super.musical(song)
System.out.println("这是用萨克斯演奏的 "+song)
}
}
/**
* 吉他
*/
public class Guitar extends Spiccato {
public Guitar(String song) {
super.musical(song)
System.out.println("这是吉他弹奏的")
}
}
/**
* 钢琴
*/
public class Piano extends Spiccato {
public Piano() {
super()
}
public Piano(String song) {
super.musical(song)
System.out.println("这是在用钢琴弹奏 "+song)
}
}