工厂模式-电脑

CPU接口

 

package cpu处理器;
/**
 * CPU
 * @author Administrator
 *
 */
public interface Cpu {
    /**
     * CPU型号
     */
    public String cpuType();
    
    /**
     *     主频
     */
    public String Ghz();
}

 

 

 

CPU英特尔

 

package cpu处理器;
/**
 * Intel/英特尔    主频:3.8GHz
 * @author Administrator
 *
 */
public class Intel implements Cpu{
    /**
     *     型号
     */
    public String cpuType() {
        return "Intel/英特尔";
    }

    /**
     *     主频
     */
    public String Ghz() {
        return "3.8GHz";
    }    
}

 

 

 

CPU戴尔

 

package cpu处理器;
/**
 * Dell/戴尔
 * @author Administrator
 *
 */
public class Dell implements Cpu {
    /**
     *     型号
     */
    public String cpuType() {
        return "Dell/戴尔";
    }

    /**
     *     主频
     */
    public String Ghz() {
        return "3.4GHz";
    }

}

 

 

 

硬盘接口

 

package hardDisk硬盘;
/**
 *     硬盘
 * @author Administrator
 *
 */
public interface HardDisk {
    /**
     *     硬盘容量
     */
    public int capacity();
}

 

 

 

800GB硬盘

 

package hardDisk硬盘;
/**
 *     800
 * @author Administrator
 *
 */
public class Disk800GB implements HardDisk {
    /**
     *     硬盘容量
     */
    public int capacity() {
        return 800;
    }

}

 

 

 

1000GB硬盘

 

package hardDisk硬盘;
/**
 *     1000
 * @author Administrator
 *
 */
public class Disk1000GB implements HardDisk {
    /**
     *     硬盘容量
     */
    public int capacity() {
        return 1000;
    }

}

 

 

 

内存接口

 

package memory内存;
/**
 *     内存
 * @author Administrator
 *
 */
public interface Memory {
    /**
     *     内存大小
     */
    public String memory();
}

 

 

 

4G内存

 

package memory内存;
/**
 *     内存4g
 * @author Administrator
 *
 */
public class _4g implements Memory{
    /**
     *    内存大小
     */
    public String memory() {
        return "4g";
    }
}

 

 

 

8G内存

 

package memory内存;
/**
 *     内存8g
 * @author Administrator
 *
 */
public class _8g implements Memory{
    /**
     *    内存大小
     */
    public String memory() {
        return "8g";
    }
}

 

 

 

电脑

 

package computer电脑;

import cpu处理器.Cpu;
import hardDisk硬盘.HardDisk;
import memory内存.Memory;

/**
 *     计算机类
 * @author Administrator
 *
 */
public class Computer{
    //创建CPU
    private Cpu cpu;
    //创建硬盘内存
    private HardDisk hardDisk;
    //创建内存
    private Memory memory;
    
    /**
     *     组装方法
     */
    public void print() {
        System.out.println("计算机的信息如下");
        System.out.println("CPU的品牌是:"+cpu.cpuType()+",主频:"+cpu.Ghz());
        System.out.println("硬盘容量:"+hardDisk.capacity()+"GB");
        System.out.println("内存容量:"+memory.memory());
    }

    
    
    /**
     * setter getter
     */
    public Cpu getCpu() {
        return cpu;
    }

    public void setCpu(Cpu cpu) {
        this.cpu = cpu;
    }

    public HardDisk getHardDisk() {
        return hardDisk;
    }

    public void setHardDisk(HardDisk hardDisk) {
        this.hardDisk = hardDisk;
    }

    public Memory getMemory() {
        return memory;
    }

    public void setMemory(Memory memory) {
        this.memory = memory;
    }
}

 

 

 

电脑测试类

 

package Computer组装电脑main方法;

import computer电脑.Computer;
import cpu处理器.*;
import hardDisk硬盘.*;
import memory内存.*;
/**
 *     组装电脑
 * @author Administrator
 *
 */
public class AssembleComputer {
    public static void main(String[] args) {
        /*
         *     创建dell电脑
         */
        Computer computer=new Computer();
        //CPU处理器
        Cpu cpu=new Dell();
        //硬盘
        HardDisk hardDisk=new Disk1000GB();
        //内存
        Memory memory=new _4g();
        
        //设置
        computer.setCpu(cpu);
        computer.setHardDisk(hardDisk);
        computer.setMemory(memory);
        //输出
        computer.print();
        System.out.println();
        
        
        
        /*
         *     创建Intel电脑
         */
        Computer computer1=new Computer();
        //CPU处理器
        Cpu cpu1=new Intel();
        //硬盘
        HardDisk hardDisk1=new Disk800GB();
        //内存
        Memory memory1=new _8g();
        
        //设置
        computer1.setCpu(cpu1);
        computer1.setHardDisk(hardDisk1);
        computer1.setMemory(memory1);
        //输出
        computer1.print();
        
        
    }
}

 

测试

 

下载

链接:https://pan.baidu.com/s/1eMZHQyGi922DscCavO4BxA
提取码:lrnw

posted @ 2019-02-18 16:18  纸灰  阅读(222)  评论(0编辑  收藏  举报