2020-10-29

标题***接口实现计算机

需求说明:采用面向接口编程思想组装一台计算机,计算机的主要组成部分有: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();
    }
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值