• 设计模式


    public interface CPU {
    }
    
    public class AmdCPU implements CPU{
        public AmdCPU() {
            System.out.println("this is AmdCPU");
        }
    }
    
    public class IntelCPU  implements CPU{
        public IntelCPU() {
            System.out.println("this is IntelCPU");
        }
    }
    

      

    public interface HardDisk {
    }
    
    public class SeagateHardDisk implements HardDisk {
        public SeagateHardDisk() {
            System.out.println("this is SeagateHardDisk");
        }
    }
    
    public class WdHardDisk implements HardDisk {
        public WdHardDisk() {
            System.out.println("this is WdHardDisk");
        }
    }
    

      

    public interface ComputerFactory {
    
        /**
         * 查看CPU
         * @return  CPU信息
         */
        CPU viewCPU();
    
        /**
         * 查看硬盘
         * @return  硬盘信息
         */
        HardDisk viewHardDisk();
    
    }
    
    
    public class DellComputerFactory implements ComputerFactory {
        @Override
        public CPU viewCPU() {
            return new IntelCPU();
        }
    
        @Override
        public HardDisk viewHardDisk() {
            return new SeagateHardDisk();
        }
    }
    
    public class LenovoComputerFactory implements ComputerFactory {
        @Override
        public CPU viewCPU() {
            return new AmdCPU();
        }
    
        @Override
        public HardDisk viewHardDisk() {
            return new WdHardDisk();
        }
    }
    

      

    public class Client {
        public static void main(String[] args) {
            ComputerFactory computer = new DellComputerFactory();
            computer.viewCPU();
            computer.viewHardDisk();
            computer = new LenovoComputerFactory();
            computer.viewCPU();
            computer.viewHardDisk();
        }
    }
    

      输出

    this is IntelCPU
    this is SeagateHardDisk
    this is AmdCPU
    this is WdHardDisk
    

      

  • 相关阅读:
    转 [Lucene.Net] 基本用法
    万商网与Alibaba等的比较
    B2B闯入者 新势力正在崛起
    项目管理随想一
    【转载】/proc目录中的重要信息
    文件名乱码转换器
    C函数调用中对入参取地址引发的问题
    编译通过的代码不算什么,一眼能看懂的代码才算好代码
    Handler使用
    删除system/app下的apk
  • 原文地址:https://www.cnblogs.com/song-wentao/p/7574630.html
Copyright © 2020-2023  润新知