package com.eric.design.adapter; //如果将类B接到类A上用,这叫做单向适配器模式,A主动,B被动 //单向适配器模式要点:继承方法 //被动方以后可能被切换,所以为了方便,最好面向接口编程, class A{ public void funA(){ System.out.println("A:funA()"); } } interface IExtendModule{//定义一个接口,管理所有的扩展模块(被动方模块) public void extendFun(); } class B implements IExtendModule{ public void extendFun(){ System.out.println("B:funB()"); } } class C implements IExtendModule{ public void extendFun(){ System.out.println("C:funC()"); } } class SubA extends A{//将A进行扩展,以后将SubA当初A使用 IExtendModule iem;//完全面向接口编程 public SubA(IExtendModule iem){ this.iem = iem; } public void funA(){ super.funA(); iem.extendFun(); } } public class Adapter { public static void main(String[] args) { SubA subA = new SubA(new B()); //SubA subA = new SubA(new C()); subA.funA(); } }
结构模式之适配器模式
猜你喜欢
转载自wxbin-perfect.iteye.com/blog/1687498
今日推荐
周排行