计算机接口教程,运用接口实现计算机各组件信息
实现思路
定义计算机组成部分定义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
计算机接口教程,运用接口实现计算机各组件信息相关推荐
- 新编大学计算机基础教程txt,新编大学计算机基础教程新大学计算机基础教程.doc...
新编大学计算机基础教程新大学计算机基础教程 <新编大学计算机基础教程>教学设计设计人:hbx基本信息课时:75 课程类型:新编大学计算机基础教程学分:10后续课程:组网技术.操作系统课程设 ...
- 计算机网络应用教程吴小钧,计算机网络应用教程
<高等学校"十二五"规划教材·计算机类:计算机网络应用教程>共9章,系统全面地介绍了计算机网络的基本概念.数据通信的基本概念.计算机网络协议和计算机网络体系结构.局域网 ...
- 大学计算机实验教程实验6,大学计算机实验教程.第6版
摘要: <大学计算机实验教程(第6版)/高等学校计算机基础教育教材精选>是"十一五"国家级规划教材,北京市教学成果奖教材,北京市精品教材<大学计算机教程(第6版) ...
- 计算机入门教程 office2007入门,大学计算机基础教程Office2007版.PPT
大学计算机基础教程Office2007版.PPT 5.2 创建演示文稿 演示文稿是由一张张独立的幻灯片组成的,把幻灯片放在一起进行逐张播放,就形成了演示文稿.演示文稿可以应用于很多方面,比如演示课件. ...
- 计算机实用教程pdf,《新编计算机实用教程》.pdf
(第2 版) 本书编委会 编 [内容简介]本书是为计算机基础教学和计算机短训班编写的基础教材.特点是基于Windows 环境, 强调其实用性.其主要内容包括计算机基础知识.中文 Windows 98/ ...
- 计算机基础教程试题及答案,计算机基础教程考试题「附答案」
一.单选题 1.以下几种说法正确的是________. A:ADSL接入Internet有虚拟拨号和专线接入两种方式 B:拨号接入Internet的速度可以达到56Mbps C:只要接入局域网就可以接 ...
- 大一大学计算机基础教程课后答案,大学计算机基础教程课后习题答案大一
计算机基础作业 第一章计算机与信息社会 习题1 一.思考题: 1.计算机的发展经历了哪几个阶段?各阶段的主要特征是什么? 答:计算机经历了电子管.晶体管.中小规模集成电路和大.超大规模集成电路等4个阶 ...
- 大学计算机基础教程实验答案,大学计算机基础试验教程习题参考答案
<大学计算机基础试验教程习题参考答案>由会员分享,可在线阅读,更多相关<大学计算机基础试验教程习题参考答案(4页珍藏版)>请在人人文库网上搜索. 1.大学计算机基础实验教程习题 ...
- 新编计算机基础教程 pdf,《新编计算机公共基础教程(Windows-2000版)》.pdf
高职高专计算机课程教材 本书编委会 编 [内容提要]本书是为计算机基础教学和广大电脑爱好者自学而编写的教材.它介绍了当今 流行的 Windows 98/Me/2000/XP 操作平台及 Word 20 ...
最新文章
- 将现有网站与Community Server2.0整合解决方案(原创)
- 认识Python(day01)
- 集群搭建:CentOS 7 模板机封装、配置静态 IP、简单优化
- R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
- android 关闭蓝牙打电话功能,Android蓝牙开发【八】hfp接听、挂断电话
- 可以用什么代替平面镜
- unity 竖屏不能全屏显示
- java接口自动化框架_java接口自动化测试框架及断言详解
- 数据库学习笔记【自学教程】—— 如何建立数据库
- 三菱PLC 串口通信开发心得经验
- java使用163邮箱完成发送邮件完成注册
- python自动化看什么书_《Python编程快速上手:让繁琐工作自动化》(异步图书出品)...
- 怎么把linux装入移动硬盘,把Ubuntu装进你的移动硬盘中
- dds导入Unreal 4
- CENTOS上的时间/时区设定
- 12306订票候补是个坑_重磅!12306候补购票正式上线,实测你可能连排队的机会都没有!...
- 安装MikTex并成功编译中文PPT模板详细过程
- 中兴手机数据通道打不开_中兴td-lte无线数据终端闪着绿灯 但是上不了网是怎么回事...
- MFC中单文档程序框架
- 怎么快速暂停Google账户广告系列?
热门文章
- 前端学习(478):前端简介2
- spring学习(50):延迟加载
- java学习(19):巩固练习
- 实例2:python
- Qt 编写应用程序升级的配置文件json 生成工具
- elementUI的DatePicker+DateTimePicker组件的自定义日期禁用
- Mac不装软件校验MD5和SHA1值
- Hadoop 集群的三种方式
- Python代写CSSE1001/7030 python程序作业、代做python CSSE1001/7030程序作业、 代写CSSE1001/7030 python 作业...
- 记一次MySQL手工注入