当前位置: 首页 > news >正文

国外搜索网站排名室内装饰装修资质证书

国外搜索网站排名,室内装饰装修资质证书,班级网站 php,北京已感染上千万人理解生成器模式在于:一个对象若由多个部分组成,只要构建好这些部分然后拼接到一起就组成了一个完整的对象。比如一台电脑,它的类型可以不一样,可以是苹果的,可以是联想的,等等。同一款电脑它的组件也不一样…

 理解生成器模式在于:一个对象若由多个部分组成,只要构建好这些部分然后拼接到一起就组成了一个完整的对象。比如一台电脑,它的类型可以不一样,可以是苹果的,可以是联想的,等等。同一款电脑它的组件也不一样,有的内存大一点,有的CPU高级点。如果把不同款式的电脑都封装成一个对象的话就比较复杂,使用生成器模式可以快速构建自己需要的对象。下面使用这个案例说明。

 

package Builder;public class Client {public static void main(String[] args) {Direct direct = new Direct();ComputerBulider computerBuliderA = new ComputerABuilder();direct.setCb(computerBuliderA);Computer computerA = direct.contructor();System.out.println(computerA.toString());ComputerBulider computerBuliderB = new ComputerBBuilder();direct.setCb(computerBuliderB);Computer computerB = direct.contructor();System.out.println(computerB.toString());}
}
package Builder;public class Computer {private String cpu;//中央处理器private String memory;//内存private String disk;//硬盘private String graphics;//显卡private String mainboard;//主板public String getCpu() {return cpu;}public void setCpu(String cpu) {this.cpu = cpu;}public String getMemory() {return memory;}public void setMemory(String memory) {this.memory = memory;}public String getDisk() {return disk;}public void setDisk(String disk) {this.disk = disk;}public String getGraphics() {return graphics;}public void setGraphics(String graphics) {this.graphics = graphics;}public String getMainboard() {return mainboard;}public void setMainboard(String mainboard) {this.mainboard = mainboard;}@Overridepublic String toString() {return "Computer{" +"cpu='" + cpu + '\'' +", memory='" + memory + '\'' +", disk='" + disk + '\'' +", graphics='" + graphics + '\'' +", mainboard='" + mainboard + '\'' +'}';}
}
package Builder;public class ComputerABuilder extends ComputerBulider{@Overridepublic void buildCpu() {computer.setCpu("CPUA");}@Overridepublic void buildMemory() {computer.setMemory("内存A");}@Overridepublic void buildDisk() {computer.setDisk("硬盘A");}@Overridepublic void buildGraphics() {computer.setGraphics("显卡A");}@Overridepublic void buildMainboard() {computer.setMainboard("主板A");}
}
package Builder;public class ComputerBBuilder extends ComputerBulider{@Overridepublic void buildCpu() {computer.setCpu("CPUB");}@Overridepublic void buildMemory() {computer.setMemory("内存B");}@Overridepublic void buildDisk() {computer.setDisk("硬盘B");}@Overridepublic void buildGraphics() {computer.setGraphics("显卡B");}@Overridepublic void buildMainboard() {computer.setMainboard("主板B");}
}
package Builder;public abstract class ComputerBulider {protected Computer computer = new Computer();public abstract void buildCpu();public abstract void buildMemory();public abstract void buildDisk();public abstract void buildGraphics();public abstract void buildMainboard();public Computer getComputer() {return computer;}
}
package Builder;public class Direct {private ComputerBulider cb;public void setCb(ComputerBulider cb) {this.cb = cb;}public Computer contructor() {cb.buildDisk();cb.buildGraphics();cb.buildCpu();cb.buildMainboard();cb.buildMemory();return cb.getComputer();}
}

所有的电脑都是一个产品Product,所有的组件都在这里声明。ConcreteBulider作用是构建电脑具体的部件,Direct作用是将部件组装,并提供方法可以让Client拿到电脑。在Client中声明了Direct和ConcreteBulider,将ConcreteBulider传入Direct中完成组装然后调用方法拿到电脑。

http://www.yayakq.cn/news/598999/

相关文章:

  • 网站公司备案通知来宾网站优化
  • 网页设计商城网站建设男男做受网站
  • 珠海网站建站模板桐乡市城市规划建设局网站
  • 网站建设制作首页流程直播软件排名
  • 西安网站建设哪家专业免费网站开发合同
  • android网站开发网络营销是怎么回事
  • 全新网站开发网站编辑如何做原创
  • 广州网站推广运营东莞网络推广服务外包
  • 网站制作泉州公司韩国比分预测
  • 学校网站建设工作简报找工厂货源上什么平台
  • 网站开发的经济可行性分析太原seo计费管理
  • 苏州朗冠网站建设公司建设行政主管部门查询网站
  • 做家具厂招聘有哪些网站杭州网站建设推荐
  • 网站3级目录可以做导航分类么企业展示网站
  • 上海哪家网站建设公司好wordpress主题转换
  • 淘宝网站建设合同创建学校网站
  • 常规网站建设内容门户网站建设运营
  • 做网站用到什么技术哪些网站是动态的
  • 大连知名互联网公司wordpress 数据库优化
  • 网站官网建设方案免费建站平台排名
  • 网站没域名浙江省住房建设厅网站首页
  • flash网站优缺点提交网站入口
  • 搭建广告网站费用网站布局 种类
  • 怎么让网站被收录上海百度公司总部
  • 1m带宽做网站快不四线城市网站建设方向及营利点
  • 如何将aaa云主机做网站手机网站用什么软件
  • 无忧网站建设哪家便宜wordpress网址重定向
  • 深圳英文建站公司wordpress安装后台
  • 网站的可行性分析怎么写郴州市高中阶段招生录取系统
  • 网站下拉菜单设计雅安建设局网站