zoukankan      html  css  js  c++  java
  • 采用面向接口编程思想组装一台计算机

    计算机的主要组成部分有:
    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();
    }
    }
     
  • 相关阅读:
    作业6 团队项目之需求(改)
    作业6第一天进度
    作业6第二天进度
    作业6四则运算APP之Sprint计划
    作业6第3、4、5天进度
    重新梳理Python基础(7)
    BAE博客开发之基础知识积累Django篇(1)
    重新梳理Python基础(11)
    重新梳理Python基础(6)
    重新梳理Python基础(9)
  • 原文地址:https://www.cnblogs.com/Jc1995/p/12863192.html
Copyright © 2011-2022 走看看