zoukankan      html  css  js  c++  java
  • 桥接模式

    对于个人的理解来说,桥接模式就是有两个抽象类,其中一个类有另一个类的引用,然后对于两个抽象类的子类来说,就有了一种聚合的关系.

    public abstract class Abstraction {
    
        private Implementor imp;
    
        //约束子类必须实现该构造函数
        public Abstraction(Implementor imp) {
            this.imp = imp;
        }
    
        public Implementor getImp() {
            return imp;
        }
    
        //自身的行为和属性
        public void request() {
            this.imp.doSomething();
        }
    
    }
    public abstract class Implementor {
    2 
    3     public abstract void doSomething();
    4     public abstract void doAnything();
    5     
    6 }
    public class ConcreteImplementorA extends Implementor {
    
        @Override
        public void doSomething() {
            System.out.println("具体实现A的doSomething执行");
        }
    
        @Override
        public void doAnything() {
            System.out.println("具体实现A的doAnything执行");
        }
    }
    public class RefinedAbstraction extends Abstraction {
    
        //覆写构造函数
        public RefinedAbstraction(Implementor imp) {
            super(imp);
        }
    
        //修正父类行为
        @Override
        public void request() {
            super.request();
            super.getImp().doAnything();
        }
    
    }
    public class Client {
    
        public static void main(String[] args) {
            Implementor imp = new ConcreteImplementorA();
            Abstraction abs = new RefinedAbstraction(imp);
            abs.request();
        }
    
    }
  • 相关阅读:
    linux命令备忘
    java搭建finagle(2)
    记一次Time-Wait导致的问题
    读loadBalance技术的一些笔记
    Immutable.js尝试(node.js勿入)
    python flask 部署
    一个奇怪的html上url参数问题
    xxx-servlet.xml vs applicationContext.xml
    大数据环境安装部署步骤
    数据迁移
  • 原文地址:https://www.cnblogs.com/lzh66/p/13289668.html
Copyright © 2011-2022 走看看