ComputerFactory.java 911 B

1234567891011121314151617181920212223242526272829303132
  1. package com.sf.javase.computer;
  2. /**
  3. * 笔记本 加工工厂
  4. */
  5. public class ComputerFactory {
  6. // 生产笔记本 通过不同的品牌生产不同操作系统的笔记本
  7. public static Computer makeComputer(String brand) {
  8. Computer computer = null;
  9. switch (brand) {
  10. case "mac":
  11. computer = new MacComputer();
  12. break;
  13. case "mi":
  14. computer = new MiComputer();
  15. break;
  16. default:
  17. }
  18. return computer;
  19. }
  20. public static void main(String[] args) {
  21. // 根据工厂来获取 具体的Computer
  22. Computer computer = ComputerFactory.makeComputer("mi");
  23. // 调用Computer设置操作系统方法
  24. computer.setOperationSystem();
  25. Computer macComputer = ComputerFactory.makeComputer("mac");
  26. macComputer.setOperationSystem();
  27. }
  28. }