• 第十七章 适配器模式


    适配器模式:将一个类的借口转换成客户希望的另外一个接口。

    应用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑使用适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。

    注意:应该注意其应用场景,不能本末倒置。

    /**
     * Created by hero on 16-4-4.
     */
    public abstract class Player {
        private String name;
    
        public abstract void attack();
    
        public Player(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }
    /**
     * Created by hero on 16-4-4.
     */
    public class Forward extends Player {
        @Override
        public void attack() {
            System.out.println("forward player " + getName() + " attack.");
        }
    
        public Forward(String name) {
            super(name);
        }
    }
    /**
     * Created by hero on 16-4-4.
     */
    public class ForeignCenter {
        private String name;
    
        public void 进攻() {
            System.out.println("外籍中锋 " + name + " 进攻");
        }
    
        public ForeignCenter(String name) {
            this.name = name;
        }
    }
    /**
     * Created by hero on 16-4-4.
     */
    public class Translator extends Player {
        private ForeignCenter center;
    
        @Override
        public void attack() {
            center.进攻();
        }
    
        public Translator(String name) {
            super(name);
            center = new ForeignCenter(name);
        }
    }
    public class Main {
    
        public static void main(String[] args) {
            Player hhd = new Forward("hhd");
            hhd.attack();
            Player ym = new Translator("ym");
            ym.attack();
        }
    }
  • 相关阅读:
    自动布局
    初探 iOS8 中的 Size Class
    iOS数据安全性问题
    iOS应用程序之间的跳转
    iOS 关于xml解析的问题
    iOS中的一些基础知识点
    关于iOS项目中使用ZBarSDK
    iOS中关于google地图的用法
    基于4.5Framework web程序、SQLSERVER数据库打包
    docker私有仓库搭建
  • 原文地址:https://www.cnblogs.com/littlehoom/p/5353252.html
Copyright © 2020-2023  润新知