采用面向接口編程思想組裝一台計算機


計算機的主要組成部分有:
CPU
硬盤
內存

 

看到這里我們首先想到的是has a 的關系,所以我們需要定義一個CPU的接口,硬盤接口以及內存接口

CPU接口

public interface CPU {
 public String getBrand();//品牌
}

硬盤接口

public interface HardDisk {
public String getType();//硬盤類型
}

內存接口

public interface EMS  {
 public String getCapacity();//容量
}

當然我們也需要給這些接口定義各自的子類

//CUP子類Inter類

public class Inter implements CPU {
 public String getBrand() {
  return "Inter";
 }

//CUP子類ADM類

public class ADM implements CPU {
 public String getBrand() {
  return "ADM";
 }

//硬盤子類機械硬盤及內存

public class MHD implements HardDisk {
 public String getType() {
  return "機械2000GB";
 }

//硬盤子類固態硬盤及內存

public class SSD implements HardDisk {
 public String getType() {
  return "固態3000GB";
 }

//內存子類2GB內存

 public class Two implements EMS {
 public String getCapacity() {
  return "2GB";
 }

//內存子類4GB內存

public class Four implements EMS {
 public String getCapacity() {
  return "4GB";
 }

//內存子類8GB內存

public class Eight implements EMS {
 public String getCapacity() {
  return "8GB";
 }

我們需要一個電腦類來接收CPU、EMS和HardDisk以及輸出的方法

public class Computer {
 CPU cpu;
 EMS ems;
 HardDisk hardDisk;
 public void setCPU(CPU cpu) {
  this.cpu = cpu;
 }
 public void setEMS(EMS ems) {
  this.ems = ems;
 }
 public void setHardDisk(HardDisk hardDisk) {
  this.hardDisk = hardDisk;
 }
 public void show(){
  System.out.println("計算機的信息如下:");
  System.out.println("CPU的品牌是:"+cpu.getBrand()+",主頻是:3.8GHZ");
  System.out.println("硬盤容量是:"+ems.getCapacity());
  System.out.println("內存容量是:"+hardDisk.getType());
 }
}
最后我們編寫一個測試類
public class TestComputer {
 public static void main(String[] args) {
 Computer computer = new Computer();
//子類到父類的轉換
 CPU cpu = new Inter();
 EMS ems = new Eight();
 HardDisk hardDisk = new SSD();
//給屬性賦值
 computer.setCPU(cpu);
 computer.setHardDisk(hardDisk);
 computer.setEMS(ems);
//最后調用方法
 computer.show();
}
}
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM