桥接模式可以取代多层继承结构,可以在2个纬度中任意扩展一个纬度,符合开闭原则
package Bridge;
public interface brand {
void sale();
}
class lenovo implements brand{
public void sale() {
System.out.println("销售联想电脑");
}
}
class dell implements brand{
public void sale() {
System.out.println("销售戴尔电脑");
}
}
package Bridge;
public class computer {
protected brand brand;
public computer(brand brand) {
this.brand =brand;
}
public void sale(){
brand.sale();
}
}
class desktop extends computer{
public desktop(brand b){
super(b);
}
@Override
public void sale() {
super.sale();
System.out.println("销售台式机");
}
}
class laptop extends computer{
public laptop(brand b){
super(b);
}
@Override
public void sale() {
super.sale();
System.out.println("销售笔记本");
}
}
package Bridge;
public class client {
public static void main(String[] args) {
computer c=new laptop(new lenovo());
c.sale();
}
}
运行结果:
类图