计算机接口教程,运用接口实现计算机各组件信息

实现思路

定义计算机组成部分定义CPU的接口CPU,返回CPU品牌和主频

定义内存的接口EMS,返回容量

定义硬盘接口HardDsik,返回容量实现计算机各组件信息编写各组件厂商分别实现CPU EMS 和HardDisk接口,编写计算机类,组装计算机并显示相关信息

编写测试类运行

定义CPU的接口CPU、定义内存的接口EMS、定义硬盘接口HardDsik

/**

* cpu接口

* 返回品牌

* 返回主频

*/

public interface CPU {

String getStrain();

String getGHZ();

}

/**

* 内存接口

* 返回容量

*/

public interface EMS{

int getEMSsize();

}

/**

* 硬盘接口

* 返回容量

*/

public interface HardDisk {

int getHDsize();

}

编写各组件厂商分别实现CPU EMS 和HardDisk接口

/**

* 因特尔CPU

* 品牌:inter

* 主频:3.8GHZ

*/

public class InterCPU implements CPU {

@Override

public String getStrain() {

return "Inter";

}

@Override

public String getGHZ() {

return "3.8GHZ";

}

}

/**

* AMD Ryzen 5

* 品牌:Ryzen 5

* 主频:3.4GHZ

*/

public class Ryzen5CPU implements CPU {

@Override

public String getStrain() {

return "Ryzen 5";

}

@Override

public String getGHZ() {

return "3.4GHZ";

}

}

/**

* 4G大容量内存

*/

public class BigEMs implements EMS {

@Override

public int getEMSsize() {

return 4;

}

}

/**

* 金士顿内存

* 8GB

*/

public class KstEMS implements EMS {

@Override

public int getEMSsize() {

return 8;

}

}

/**

* 东芝硬盘

* 1000

*/

public class DZHardDisk implements HardDisk {

@Override

public int getHDsize() {

return 1000;

}

}

/**

* 3000G硬盘

*/

public class FGHardDisk implements HardDisk {

@Override

public int getHDsize() {

return 3000;

}

}

编写计算机类,组装计算机并显示相关信息

/**

* 装配电脑

*/

public class Computer {

private CPU cpu;

private EMS ems;

private HardDisk hardDisk;

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;

}

public Computer(CPU cpu, EMS ems, HardDisk hardDisk){

super();

this.cpu=cpu;

this.ems=ems;

this.hardDisk=hardDisk;

}

public void show(){

System.out.println("计算机信息如下");

System.out.println("CPU的品牌是:"+cpu.getStrain()+",主频是:"+cpu.getGHZ());

System.out.println("内存容量是:"+ems.getEMSsize()+"GB");

System.out.println("硬盘容量是:"+hardDisk.getHDsize()+"GB");

}

}

编写测试类运行

/**

* 测试类

*/

public class Test {

public static void main(String[] args) {

CPU cpu=new InterCPU();

EMS ems=new BigEMs();

HardDisk hardDisk=new FGHardDisk();

Computer computer=new Computer(cpu,ems,hardDisk);

computer.show();

System.out.println("*********************");

// cpu=new Ryzen5CPU();

// ems=new KstEMS();

// hardDisk=new DZHardDisk();

// computer=new Computer(cpu,ems,hardDisk);

computer.setCpu(new Ryzen5CPU());

computer.show();

}

}

运行效果:

计算机信息如下

CPU的品牌是:Inter,主频是:3.8GHZ

内存容量是:4GB

硬盘容量是:3000GB

*********************

计算机信息如下

CPU的品牌是:Ryzen 5,主频是:3.4GHZ

内存容量是:4GB

硬盘容量是:3000GB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[调试]Asp.Net常见问题

“/”应用程序中的服务器错误。 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Se…

python调用手机蓝牙_米家生态出品,易锁宝蓝牙U型锁,让开锁更灵活

由于工作室的外门是传统老式铁艺门,没办法改指纹锁,只能一直用传统的U型锁来锁住。但是经常出现尴尬的情况就是,到了楼下发现忘带钥匙。再加上最近原本的U型锁出现小问题,开锁不那么顺畅了。所以在换U型锁的时候,选了一…

视频剪辑计算机配置要求,对于视频剪辑工作,需要什么样的电脑配置才满足要求...

(文章来源:网络整理)目前有很多的自媒体出现,自媒体入门要求不高,且能让不同层面、不同行业的人员加入进来。但是即便入门简单,还是要会一些简单的剪辑软件的使用的,一般剪辑视频软件对电脑的性能有一定要求&#xff0…

[0630]Tyvj 1063 数字串

描述给你一个长度为n的数字串,数字串里会包含1-m这些数字。如果连续的一段数字子串包含了1-m这些数字,则称这个数字字串为NUM串。你的任务是求出长度最短的NUM串是什么,只需要输出这个长度即可。输入输入数据有多组第一行给定n和m。 &#xf…

python 线程池回收_python实现线程池

这段时间一直在做一个爬虫系统,用python和django实现。其中涉及到了多线程的问题,在后端使用一个全局的字典用来保存和识别已经运行的线程。但是觉得这样的实现不是不太舒服。于是想找到一个更好的实现,这就想到了线程池这个概念。线程池的概…

武汉大学计算机学院有什么实验室,武汉大学计算机学院实验室 - 安全牛课堂 - 领先的信息安全在线教育平台...

{"i18nChapterName": "章","i18nUnitName": "节","i18nLessonName": "课时","i18nTaskName":"任务"}{"text": {"icon": "es-icon es-icon-graphic","nam…

nHibernate Mapping By Code - Introduction

nHibernate 3.2新增了一种mapping by code的映射策略,很有意思。你可以自定义约定,并且按照约定定制自动映射策略,面对遗留数据库时这个功能往往很有用,另外,由于mapping by code是基于代码的(而不是xml文件…

android绘制环形进度_Android动态自定义圆形进度条

这篇文章主要介绍了Android动态自定义圆形进度条,需要的朋友可以参考下效果图:A.绘制圆环,圆弧,文本//1.画圆环//原点坐标float circleX width / 2;float circleY width / 2;//半径float radius width / 2 - roundWidth / 2;//设置画笔的属…

2014全国计算机二级vfp模拟试题和答案,2014年全国计算机二级考试VF模拟试题

2014年全国计算机二级考试VF模拟试题选择题(1)下列数据结构中,属于非线性结构的是(  )。A)带链队列B)循环队列C)带链栈D)二叉树(2)下列叙述中正确的是(  )。A)数据的逻辑结构与存储结构是一一对应的B)算法的时间复杂度与空间复杂度一定相关C)算法的.效率只与问题…

一个自动生成关键字索引页面的比处理文件

电脑上资料多了之后,每次找资料很麻烦。因此,匠人写了这个批处理文件。1、把这个批处理文件放在资料目录。2、执行它,输入关键字。它回自动搜索整个目录以及下属目录中的所有文件名中包含该关键字的文件,并生成一个带超级连接的网…

指令 出厂_口碑营销_南澳出口木箱出厂价

口碑营销_南澳出口木箱出厂价 z1m0b1ch口碑营销_南澳出口木箱出厂价 无熏蒸有效期时间限制。拆装方便,由于钢带木箱采用的是钢边连接,因此极大的节省了运输成本,节约了储存空间,对吨以下的货物运输非常适合。而且由于钢边连接&…

j计算机实验室安全操作规范,实验室安全操作规程

与《实验室安全操作规程》相关的范文实验室安全使用操作规程 化学实验室安全使用操作规程 在中学化学实验中,使用的仪器、装置大部分是容易破碎的玻璃器皿,许多药品都是可燃、易爆、有腐蚀性或有毒的危险品,实验过程中常常需要用明火加热。因…

前端学习(498):水平居中布局得第一种方式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>居中布局一</title><style>.parent{wid…

和合符放枕头下的作用_深度解析:记忆棉枕头好,还是乳胶枕头好?

记忆棉枕头和乳胶枕头哪种好&#xff0c;并不能一概一论&#xff0c;要根据个人用枕需求来确定。首先&#xff0c;我们来了解一下它们本质上的区别&#xff0c;顾名思义&#xff0c;它们的本质区别就是材质&#xff0c;从手感上来说&#xff0c;乳胶材质在触感上会比记忆棉更加…

能够关闭并退出计算机程序的是,电脑强制关闭程序按哪三个键 可按Alt+F4关闭当前页面...

导读&#xff1a;说到程序&#xff0c;大多数人都知道&#xff0c;有人问电脑突然死机强制关机打不开&#xff0c;还有朋友想问电脑强制关闭程序按哪三个键&#xff0c;这到底是咋回事&#xff1f;事实上电脑qq怎么强制关闭呢&#xff0c;今天小编给大家整理了电脑强制关闭程序…