java桥接模式

Uml图如下:


//实现者(Implementor)
public interface BuildingDesign {
	public double computerArea();
}
 
public class HomeDesign implements BuildingDesign {
	double width,length;
	int floorNumber;
	public HomeDesign(double width,double length,int floorNumber) {
		this.width=width;
		this.length=length;
		this.floorNumber=floorNumber;
	}
	@Override
	public double computerArea() {
		return width*length*floorNumber;
	}

}
 
//抽象(Abstraction)
public abstract class ArchitectureCost {
	BuildingDesign design;
	double unitPrice;
	public abstract double giveCost();
}
 
//细化抽象
public class BuildingCose extends ArchitectureCost {

	public BuildingCose(BuildingDesign design,double unitPrice) {
		this.design=design;
		this.unitPrice=unitPrice;
	}

	@Override
	public double giveCost() {
		double area = design.computerArea();
		return area*unitPrice;
	}

}

   模式使用:

 

public class Appliaction {

	public static void main(String[] args) {
		double width = 63, height = 30;
		int floorNumber = 8;
		double unitPrice = 6867.38;
		BuildingDesign design = new HomeDesign(width, height, floorNumber);
		ArchitectureCost cost = new BuildingCose(design, unitPrice);
		double price = cost.giveCost();
		System.out.println(price);
	}

}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值