建造者模式

建造者模式的本质:


-分离了对象子组件的的单独构造(由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;
	}



	@Override
	public GirlFriend directGirFriend() {
		GirlFriend gf = new GirlFriend("杨幂", 18, "36D", "修长的美腿");
		return gf;
	}

}


package myGirlFriend;

public class GirFriendBulider implements GirFriendInterface {

	@Override
	public String name() {
		// TODO Auto-generated method stub
		return name();
	}

	@Override
	public int age() {
		// TODO Auto-generated method stub
		return age();
	}

	@Override
	public String Bust() {
		// TODO Auto-generated method stub
		return Bust();
	}

	@Override
	public String leg() {
		// TODO Auto-generated method stub
		return 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("对不起,识别不成功,只能输入不满意或满意");
		}
		
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值