标题***接口实现计算机
需求说明:采用面向接口编程思想组装一台计算机,计算机的主要组成部分有:CPU、硬盘、内存:首先,定义CPU的接口CPU,返回CPU品牌和主频;其次,定义内存的接口EMS,返回容量;再次,定义硬盘的接口HardDisk,返回容量;然后,编写各组件厂商分别实现CPU、EMS、和HardDisk接口,编写计算机类,组装计算机并显示相关信息;最后,编写测试类运行如图所示的效果。
输出结果如下:
先创建三个接口CPU,EMS,HardDisk.
public interface Cpu {
String brand();
double hp();
}
public interface EMS {
int ems();
}
public interface HardDisk {
int disk();
}
创建一个计算机类computer并把接口变成成员属性
public class computer {
private Cpu cpu;
private EMS ems;
private HardDisk hardDisk;
public void show() {
System.out.println("计算机的信息如下:\n"+
"CPU的品牌是:"+cpu.brand()+"主频是:"+cpu.hp()+"Hz"+ "硬盘容量是:"+hardDisk.disk()+"GB"+"内存容量是:" +
""+ems.ems()+"GB" );
}
public Cpu getCpu() {
return cpu;
}
public void setCpu(Cpu cpu) {
this.cpu = cpu;
}
public EMS getEms() {
return ems;
}
public void setEms(EMS ems) {
this.ems = ems;
}
public HardDisk getHardDisk() {
return hardDisk;
}
public void setHardDisk(HardDisk hardDisk) {
this.hardDisk = hardDisk;
}
}
在编写一个测试类TestComputer
import org.junit.Test;
public class TestComputer {
@Test
public void test1(){
computer c=new computer();
c.setCpu(new Cpu() {
@Override
public String brand() {
return "Intel";
}
@Override
public double hp() {
return 3.8;
}
});
c.setHardDisk(new HardDisk() {
@Override
public int disk() {
return 3000;
}
});
c.setEms(()->4);
c.show();
}
}