有一个接口Operation,如下所示:
interface Operation{
void open( );
void show( );
void close( );
}
(1)通过实现接口Operation来编写窗帘类和灯类。
(2)编写一个公共类,其中包含main方法和static void operate(Operation a)方法。
(3)在main方法中,当用户从键盘上输入1(表示窗帘curtain)或2(表示灯light)时,调用operate方法可以分别实现窗帘和灯的各个操作。对于窗帘类的对象,三个方法分别可以输出“窗帘已经拉开”,“外面风景真美”,“窗帘已经关闭”;对于灯类的对象,三个方法分别可以输出“灯已经打开”,“灯光真柔和”,“灯已经关闭”。
import java.util.Scanner;
public class abc {
static void operate(Operation a){
a.open();
a.show();
a.close();
}
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int b=input.nextInt();
if (b==1) {
Operation a = new curtain();
operate(a);
}
if (b==2){
Operation a=new light();
operate(a);
}
}
}
public class curtain implements Operation{
@Override
public void open() {
System.out.println("窗帘已经拉开");
}
@Override
public void show() {
System.out.println("外面风景真美");
}
@Override
public void close() {
System.out.println("窗帘已经关闭");
}
}
public class light implements Operation{
public void open(){
System.out.println("灯已经打开");
}
@Override
public void show() {
System.out.println("灯光真柔和");
}
@Override
public void close() {
System.out.println("灯已经关闭");
}
}
interface Operation {
void open( );
void show( );
void close( );
}