桥接模式-维度组合

桥接模式(接口模式)

  • 类比于,二维平面的坐标,或多维坐标。"桥"将多个维度的接口(或实现)连接起来,构成新的产品。

image-20200423143724957

Brand接口

package com.tiko.bridge;

//品牌接口
public interface Brand {

	void info();
}

Apple品牌

package com.tiko.bridge;

//Apple品牌
public class Apple implements Brand {
	@Override
	public void info() {
		System.out.print("Apple牌");
	}
}

Lenovo品牌

package com.tiko.bridge;

public class Lenovo implements Brand {
	@Override
	public void info() {
		System.out.print("联想牌");
	}
}

抽象的电脑类(将Brand组合进该类)

package com.tiko.bridge;


//抽象的电脑类
public abstract class Computer {

	//电脑自带品牌,所以将Brand组合为Computer的属性
	//桥
	private Brand brand;//protected 允许子类可以使用

	public Computer(Brand brand) {
		this.brand = brand;
	}

	public void info() {
		brand.info();
	}
}

Desktop类

package com.tiko.bridge;

public class Desktop extends Computer {

	public Desktop(Brand brand) {
		super(brand);
	}

	@Override
	public void info() {
		super.info();
		System.out.println("desktop");
	}
}

Laptop类

package com.tiko.bridge;

public class Laptop extends Computer {
	public Laptop(Brand brand) {
		super(brand);
	}

	@Override
	public void info() {
		super.info();
		System.out.println("Laptop");
	}
}

测试

package com.tiko.bridge;

import sun.security.krb5.internal.crypto.Des;

public class Test {

	public static void main(String[] args) {

		Computer laptop = new Laptop(new Apple());
		laptop.info();

		Computer desktop = new Desktop(new Lenovo());
		desktop.info();

	}
}
  • 场景体现:
    1. Java的虚拟机实现平台的无关性
    2. JDBC

参考自狂神说

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值