zoukankan      html  css  js  c++  java
  • 13、Adapter 适配器

    适配器:继承适配与委托适配

    需求:Banner 可以输出强电流380v、弱电流12v,但是不能被直接使用。通过别的方式,介间的使用banner?

    委托类图:

    代码清单:

     需要隐藏的功能类:

    public class Banner {
        public void showWithParen(){
            System.out.println("加强输出 380V");
        }
    
        public void showWithAster(){
            System.out.println("减弱输出 12V");
        }
    }

    代理接口:

    public interface Print {
        void printStrong();
        void printWeak();
    }

    代理实现:

    public class PrintBanner implements  Print{
         private Banner banner;
    
         PrintBanner(Banner banner){
             this.banner = banner;
         }
    
        @Override
        public void printStrong() {
            banner.showWithParen();
        }
    
        @Override
        public void printWeak() {
            banner.showWithAster();
        }
    }

    测试类:

    public class Main {
        public static void main(String[] args){
            Print print = new PrintBanner(new Banner());
            print.printStrong();
            print.printWeak();
        }
    }
  • 相关阅读:
    rpm包的管理
    多态应用实例--制作饮品
    纯虚函数和抽象类
    rpm包的管理
    动态监控进程
    封装继承和多态
    计网面试题
    模拟浏览器加载页面时的版本下载
    xpath中extract()使用
    MVC+EF CODE FIRST的使用
  • 原文地址:https://www.cnblogs.com/bytecodebuffer/p/10400387.html
Copyright © 2011-2022 走看看