需求:
电脑类用于主键构造者模式使⽤构建者设计模式来⽣产computer(演示用了String 其实都是对象·)主要步骤:1、将需要构建的⽬标类分成多个部件(电脑可以分为主机、显示器、键盘、⾳箱等部件);2、 创建构建类;3、 依次创建部件;
4、 将部件组装成⽬标对象
步骤1:
package com.qkjia.constructor;/*** @author zqk* @since -11-30 21:16* 电脑类用于主键构造者模式* 使⽤构建者设计模式来⽣产computer(演示用了String 其实都是对象·)* 主要步骤:* 1、将需要构建的⽬标类分成多个部件(电脑可以分为主机、显示器、键盘、⾳箱等部件);* 2、 创建构建类;* 3、 依次创建部件;* 4、 将部件组装成⽬标对象*/public class Computer {/*** 显示器*/private String displayer;/***主机*/private String mainUnit;/*** 鼠标*/private String mouse;/***键盘*/private String keyboard;@Overridepublic String toString() {return "Computer{" +"displayer='" + displayer + '\'' +", mainUnit='" + mainUnit + '\'' +", mouse='" + mouse + '\'' +", keyboard='" + keyboard + '\'' +'}';}public String getDisplayer() {return displayer;}public void setDisplayer(String displayer) {this.displayer = displayer;}public String getMainUnit() {return mainUnit;}public void setMainUnit(String mainUnit) {this.mainUnit = mainUnit;}public String getMouse() {return mouse;}public void setMouse(String mouse) {this.mouse = mouse;}public String getKeyboard() {return keyboard;}public void setKeyboard(String keyboard) {this.keyboard = keyboard;}}
步骤2:构建对象
/*** @author zqk* @since -11-30 21:18* 电脑构建对象*/public class ComputerBuilder {private Computer computer = new Computer();/*** 安装显示器方法** @param displayer 显示器*/public void installDisplayer(String displayer) {computer.setDisplayer(displayer);}/*** 安装主机** @param mainUnit 主机*/public void installMainUnit(String mainUnit) {computer.setMainUnit(mainUnit);}/*** 安装鼠标** @param mouse 鼠标*/public void installmouse(String mouse) {computer.setMouse(mouse);}/*** 安装键盘** @param keyboard 键盘*/public void installkeyboard(String keyboard) {computer.setKeyboard(keyboard);}/*** 返回装好的 computer** @return computer*/public Computer getComputer() {return computer;}}
步骤3:测试
package com.qkjia.constructor;/*** @author zqk* @since -11-30 21:20* 构造者模式测试对象*/public class ConsructorTest {public static void main(String[] args) {// 构造者对象ComputerBuilder computerBuilder = new ComputerBuilder();computerBuilder.installkeyboard("茶轴键盘");computerBuilder.installmouse("人体工学鼠标");computerBuilder.installDisplayer("联想显示器");computerBuilder.installMainUnit("华为主机");Computer computer = computerBuilder.getComputer();System.out.println("构造的电脑信息" + computer);}}
测试结果