zoukankan      html  css  js  c++  java
  • 7、适配器模式

    一、适配器模式定义

      把一个类的接口变换成客户端所期待的另一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。

    二、适配器模式分类

      1、类的适配器模式(采用继承实现)

      2、对象适配器(采用对象组合方式实现)

    三、应用场景

      1、系统需要使用现有的类,而这个类的接口不符合系统的需要

      2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。这些源类不一定有很重复的接口。

      3、在设计中,需要改变多个已有子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器,而这不太实际。

    四、类适配器

    public interface Switch {
        public void provide();
    }
    public class Phone {
        public void use(){
            System.out.println("通电使用");
        }
    }
    public class Adaptor extends Phone implements Switch {
        @Override
        public void provide() {
            System.out.println("提供电力");
            super.use();
        }
    }
    public class Client {
        public static void main(String[] args) {
            Adaptor adaptor=new Adaptor();
            adaptor.provide();
        }
    }

    五、对象适配器模式

      

    public class Switch {
        public void provide(){
            System.out.println("提供电力");
        }
    }
    public class Phone {
        public void use(){
            System.out.println("有电使用");
        }
    }
    public class Adaptor extends Switch {
        Phone myphone=new Phone();
    
        @Override
        public void provide() {
            super.provide();//通过继承来调用Switch的方法
            myphone.use();//通过聚合调用Phone的方法
        }
    }
    public class Client {
        public static void main(String[] args) {
            Adaptor adaptor=new Adaptor();
            adaptor.provide();
        }
    }
  • 相关阅读:
    ubuntu实时显示网速cpu占用和内存占用率
    删除以....开头的所有文件
    0.0.....1 至 0.99.......9 之间正则
    引入腾讯视频播放,可控制是否暂停播放
    解决微信小程序textarea层级太高遮挡其他组件的问题
    查看某分支推送记录
    小程序下载canvas生成图片
    微信小程序企业付款到个人
    秒 转化为 时:分:秒 ------- 类似倒计时
    iOS--崩溃日志的格式化分析---格式化crash日志
  • 原文地址:https://www.cnblogs.com/television/p/8525059.html
Copyright © 2011-2022 走看看