music4.java

来自「java编程思想的部分实现」· Java 代码 · 共 83 行

JAVA
83
字号
//:c07:Music4.java
import java.util.*;
abstract class Instrument
{
	int i ;
	public abstract void play();
	public String what(){return "Instruction";};
	public abstract void adjust();
}
class Wind extends Instrument
{
	public void play()
	{
		System.out.println("Wind.play");
	}
	public String what(){return "wind";} 
	public void adjust(){}
}
class Percussion extends Instrument
{
	public void play()
	{
		System.out.println("Percussion.play()");
	}
	public String what(){return "Percussion";}
	public void adjust(){}
}
class Siringed extends Instrument
{
	public void play()
	{
		System.out.println("Siringed.play()");
	}
	public String what(){return "Siringed";}
	public void adjust(){}
}
class Brass extends Wind
{
	public void play()
	{
		System.out.println("Brass.play()");
	}
	public void adjust()
	{
		System.out.println("Brass.adjust()");
	}
}
class Woodwind extends Wind
{
	public void play()
	{
		System.out.println("Woodwind.play()");
	}
	public String what()
	{
		return "Woodwind";
	}
}
public class Music4
{
	static void tune(Instrument i)
	{
		i.play();
	}
	static void tuneAll(Instrument[]e)
	{
		for(int i=0;i<e.length;i++)
		{
			tune(e[i]);
		}
	}
		public static void main(String [] args)
		{
			Instrument [] orchestra = new Instrument[5];
			int i=0;
			orchestra[i++]=new Wind();
			orchestra[i++]=new Percussion();
			orchestra[i++]=new Siringed();
			orchestra[i++]=new Brass();
			orchestra[i++]=new Woodwind();
			tuneAll(orchestra);
		}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?