代碼部分
package D6;
public class test {
public static void main(String[] args) {
// TODO 自動生成的方法存根
Computer c=new Computer();
IO io=new IO();
c.add(io.new KeyBoard());
c.add(io.new Mouse());
c.powerOn();
System.out.println();
c.powerOff();
}
// TODO 自動生成的方法存根
Computer c=new Computer();
IO io=new IO();
c.add(io.new KeyBoard());
c.add(io.new Mouse());
c.powerOn();
System.out.println();
c.powerOff();
}
}
package D6;
public class IO {
public class Mouse implements USB{
public class Mouse implements USB{
@Override
public void turnOn() {
// TODO 自動生成的方法存根
System.out.println("鼠標打開了");
}
public void turnOn() {
// TODO 自動生成的方法存根
System.out.println("鼠標打開了");
}
@Override
public void turnOff() {
// TODO 自動生成的方法存根
System.out.println("鼠標關閉了");
}
}
public class KeyBoard implements USB{
public void turnOff() {
// TODO 自動生成的方法存根
System.out.println("鼠標關閉了");
}
}
public class KeyBoard implements USB{
@Override
public void turnOn() {
// TODO 自動生成的方法存根
System.out.println("鍵盤打開了");
}
public void turnOn() {
// TODO 自動生成的方法存根
System.out.println("鍵盤打開了");
}
@Override
public void turnOff() {
// TODO 自動生成的方法存根
System.out.println("鍵盤關閉了");
}
}
public class Mic implements USB{
public void turnOff() {
// TODO 自動生成的方法存根
System.out.println("鍵盤關閉了");
}
}
public class Mic implements USB{
@Override
public void turnOn() {
// TODO 自動生成的方法存根
System.out.println("話筒打開了");
}
public void turnOn() {
// TODO 自動生成的方法存根
System.out.println("話筒打開了");
}
@Override
public void turnOff() {
// TODO 自動生成的方法存根
System.out.println("話筒關閉了");
}
}
public void turnOff() {
// TODO 自動生成的方法存根
System.out.println("話筒關閉了");
}
}
}
package D6;
public class Computer {
//計算機上的USB插槽
private USB[] usbs=new USB[4];
//向計算機連接USB設備
public void add(USB usb) {
//遍歷所有插槽
for (int i = 0; i < usbs.length; i++) {
//如果檢測到接口無用就連接
if (usbs[i]==null) {
usbs[i]=usb;
break;
}
}
}
//計算機開機
public void powerOn() {
//遍歷插槽
for (USB usb : usbs) {
if (usb!=null) {
usb.turnOn();
}
}
System.out.println("計算機開機了");
}
public void powerOff(){
for (USB usb : usbs) {
if (usb!=null) {
usb.turnOff();
}
}
System.out.println("計算機關機了");
}
}
//計算機上的USB插槽
private USB[] usbs=new USB[4];
//向計算機連接USB設備
public void add(USB usb) {
//遍歷所有插槽
for (int i = 0; i < usbs.length; i++) {
//如果檢測到接口無用就連接
if (usbs[i]==null) {
usbs[i]=usb;
break;
}
}
}
//計算機開機
public void powerOn() {
//遍歷插槽
for (USB usb : usbs) {
if (usb!=null) {
usb.turnOn();
}
}
System.out.println("計算機開機了");
}
public void powerOff(){
for (USB usb : usbs) {
if (usb!=null) {
usb.turnOff();
}
}
System.out.println("計算機關機了");
}
}
package D6;
interface USB {
void turnOn();
void turnOff();
}
void turnOn();
void turnOff();
}

