任务描述
本关任务:建立具有如下图所示关系的类和接口,并使用多态的方式实现电子产品开机、关机、打游戏等功能。
编程要求
根据如上图所示的继承体系,完成如下的类的定义:
-
定义抽象类Elect,具有抽象方法on(),描述开机功能,抽象方法off(),描述关机功能。
-
定义接口Game,具有抽象方法play(),描述玩游戏的功能;
-
分别定义类:手机、电脑和电话手表实现抽象类Elect;此外手机和电脑还实现了接口Game;
-
上述的抽象类、接口和实现类都定义在Elect.java文件中。
-
在测试类中,分别创建手机、电脑和电话手表的一个实例。并通过类的实例实现其所有功能。
-
具体输出要求请看测试说明。
测试说明
平台会对你编写的代码进行测试:
测试输入:无;
预期输出:
手机开机
用手机玩游戏
手机关机
电脑开机
用电脑玩游戏
电脑关机
电话手表开机
电话手表关机
package case4;
/**** 定义抽象类Elect及其抽象方法 ****/
abstract class Elect{
abstract void on();
abstract void off();
}
/**** 定义接口Game及其抽象方法 ****/
interface Game{
public void play();
}
/**** 定义手机类Phone继承Elect类并实现Game接口 ****/
class Phone extends Elect{
void on(){
System.out.println("手机开机");
}
void off(){
System.out.println("手机关机");
}
}
class myPhone implements Game{
public void play()
{
System.out.println("用手机玩游戏");
}
}
/**** 定义电脑类Computer继承Elect类并实现Game接口 ****/
class Computer extends Elect{
void on(){
System.out.println("电脑开机");
}
void off(){
System.out.println("电脑关机");
}
}
class myComputer implements Game{
public void play()
{
System.out.println("用电脑玩游戏");
}
}
/**** 定义电子手表类Watch继承Elect类 ****/
class Watch extends Elect{
void on(){
System.out.println("电话手表开机");
}
void off(){
System.out.println("电话手表关机");
}
}
package case4;
public class ElectTest {
public static void main(String[] args) {
/***** 创建一个Phone对象 *****/
Phone p=new Phone();
myPhone p1=new myPhone();
/***** 创建一个Computer对象 *****/
Computer c=new Computer();
myComputer c1=new myComputer();
/***** 创建一个Watch对象 *****/
Watch w=new Watch();
/***** 分别以Phone对象、Computer对象和Watch对象实现其所有功能
*****/
p.on();
p1.play();
p.off();
c.on();
c1.play();
c.off();
w.on();
w.off();
}
}