问题

联想、戴尔等品牌电脑,搭配USB接口实现各种功能,随着技术突破,可能不支持USB接口了,比如支持新的USB type C接口等

解决方案

桥接模式

源代码

package task2;

public interface Adapter {
	public abstract void use(String computerBrand);
}

package task2;

public class Usb implements Adapter{

	@Override
	public void use(String computerBrand) {
		System.out.println(\"The \"+computerBrand+\" uses \"+\"USB.\");
	}

}

package task2;

public class Thunderbolt implements Adapter{

	@Override
	public void use(String computerBrand) {
		System.out.println(\"The \"+computerBrand+\" uses \"+\"Thunderbolt.\");
	}

}

package task2;

public abstract class Computer {

		protected Adapter adapter;
		public void setAdapter(Adapter adapter) {
			this.adapter = adapter;
		}
		public abstract void use();
}

package task2;

public class Asus extends Computer{

	@Override
	public void use() {
		String computerBrand = \"ASUS\";
		this.adapter.use(computerBrand);
	}
	
}

package task2;

public class Lenovo extends Computer{

	@Override
	public void use() {
		String computerBrand = \"Levono\";
		this.adapter.use(computerBrand);
	}
	
}

package task2;

public class Acer extends Computer{

	@Override
	public void use() {
		String computerBrand = \"Acer\";
		this.adapter.use(computerBrand);
	}
	
}

测试及结果

package task2;

public class Client {
	public static void main(String[] args) {
		Adapter adapter = new Usb();
		Computer computer = new Lenovo();
		
		computer.setAdapter(adapter);
		computer.use();
	}
}

\"在这里插入图片描述\"

收藏 打印