建造者模式
来源:互联网 发布:mysql concat 加换行 编辑:程序博客网 时间:2024/06/15 16:06
建造者模式的本质:
-分离了对象子组件的的单独构造(由Builder来负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况下使用。
-由于事先了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法,装配算法的解耦。实现了更好的复用
代码说明:
package myGirlFriend;public class GirlFriend {private String name;private int age;private String Bust;private String leg;public GirlFriend(String name, int age, String bust, String leg) {super();this.name = name;this.age = age;Bust = bust;this.leg = leg;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getBust() {return Bust;}public void setBust(String bust) {Bust = bust;}public String getLeg() {return leg;}public void setLeg(String leg) {this.leg = leg;}public GirlFriend() {super();}}
package myGirlFriend;public interface GirFriendInterface {String name();int age();String Bust();String leg();}
package myGirlFriend;public interface Director {GirlFriend directGirFriend();}
package myGirlFriend;public class GirFriendDirector implements Director{private GirFriendBulider girl;public GirFriendDirector(GirFriendBulider girl) {super();this.girl = girl;}@Overridepublic GirlFriend directGirFriend() {GirlFriend gf = new GirlFriend("杨幂", 18, "36D", "修长的美腿");return gf;}}
package myGirlFriend;public class GirFriendBulider implements GirFriendInterface {@Overridepublic String name() {// TODO Auto-generated method stubreturn name();}@Overridepublic int age() {// TODO Auto-generated method stubreturn age();}@Overridepublic String Bust() {// TODO Auto-generated method stubreturn Bust();}@Overridepublic String leg() {// TODO Auto-generated method stubreturn leg();}}
package myGirlFriend;import java.util.Scanner;public class myGirlFriend {public static void main(String[] args) throws InterruptedException {GirFriendDirector gd= new GirFriendDirector(new GirFriendBulider());GirlFriend gf =gd.directGirFriend();System.out.println("您的女朋友名字:"+gf.getName());Thread.sleep(1000);System.out.println("年龄:"+gf.getAge());Thread.sleep(1000);System.out.println("胸围:"+gf.getBust());Thread.sleep(1000);System.out.println("拥有一条"+gf.getLeg());Scanner sc =new Scanner(System.in);Thread.sleep(1000);System.out.println("请问您对这个女朋友满意不?");String nn =sc.nextLine();if(nn.equals("不满意")) {System.out.println("一个屌丝");}else if(nn.equals("满意")){System.out.println(gf.getName()+"今晚就陪你睡觉");}else {System.out.println("对不起,识别不成功,只能输入不满意或满意");}}}
阅读全文
0 0
- Builder 建造者模式
- 建造者模式
- 设计模式-------建造者
- 建造者模式
- 建造者模式(Builder)
- 建造者模式(Builder)
- 建造者模式
- 建造者模式 - builder
- 建造者模式
- Builder建造者模式
- 建造者模式(Builder)
- 建造者模式(builder)
- 建造者模式
- java建造者模式
- 建造者模式
- 建造者模式
- 建造者模式(Builder)
- 建造者模式
- table td 内容太长自动换行的实例(word-wrap和word-break的差异)
- 衡量算法的标准
- hive基础操作
- HDU-2222 Keywords Search (AC自动机入门题)
- systemd——定义
- 建造者模式
- 字符串格式的xml转json格式
- PAT-A 1007. Maximum Subsequence Sum (25)
- 无法解析的外部符号
- 剑指offer_链表---反转链表
- STL中list容器中sort函数用法
- resizableImageWithCapInsets无效的情况
- SQLServer创建新Login,用户名密码登录,并开放TCP/IP连接
- stm32_1.GPIO的几种模式