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

    适配器设计模式概述
        将一个类的接口转换成另外一个客户希望的接口。从而使原来不能直接调用的接口变得可以调用

    优点:
        让本来不适合使用的接口变得适合使用

    缺点:
        一次只能适配一个类,具有一定的局限性

    package com.adapter;
    
    public interface UserDao {
        public void add();
        public void delete();
        public void change();
        public void find();
    }
    package com.adapter;
    /*
     * 这样不是很好,因为我只需要一个增加功能,但是因为实现接口,接口中方法过多,我必须每一个抽象方法都进行实现。
     */
    public class UserDaoImpl implements UserDao {
    
        @Override
        public void add() {
            System.out.println("增加操作");
        }
    
        @Override
        public void delete() {
    
        }
    
        @Override
        public void change() {
    
        }
    
        @Override
        public void find() {
    
        }
    
    }
    package com.adapter;
    
    public class UserAdapter implements UserDao {
    
        @Override
        public void add() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void delete() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void change() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void find() {
            // TODO Auto-generated method stub
    
        }
    
    }
    package com.adapter;
    /*
     * 使用适配器模式,实现类不需要实现所有的抽象方法了,只需要对需要使用的方法进行重写即可
     */
    public class UserDaoImpl2 extends UserAdapter {
        @Override
        public void add() {
            System.out.println("新增操作");
        }
    }
    package com.adapter;
    
    public class UserDemo {
        public static void main(String[] args) {
            UserDaoImpl ui=new UserDaoImpl();
            ui.add();
            UserDaoImpl2 ui2=new UserDaoImpl2();
            ui2.add();
        }
    }
  • 相关阅读:
    Xamarin studio配置问题
    安装moogodb
    什么是作用域, 什么是闭包, 什么是原型链,什么是递归, 什么是函数函数声明,什么是函数表达式,继承,this 指向
    前端框架Vue、angular、React的优点和缺
    判断终端是IOS 或 是Android
    VS code终端错位
    安装Flutter
    web直传OSS设置 头部信息【坑】
    从零创建react项目
    webpack报错vue-template-compiler 版本不对
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5609212.html
Copyright © 2011-2022 走看看