zoukankan      html  css  js  c++  java
  • 第十七章 适配器模式

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

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

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

    /**
     * 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();
        }
    }
  • 相关阅读:
    ElasticSearch : APT-GET安装方式
    python__基础 : 多继承中方法的调用顺序 __mro__方法
    TypeScript : 语法及特性
    Spring : JDBC模板, 事务和测试
    数据库 : 事物以及隔离性导致的问题
    MySQL数据库 : 函数和存储过程
    Java : java基础(6) 反射与枚举
    Java : java基础(5) Socket网络编程
    Java : java基础(4) 线程
    Java : java基础(3) IO流
  • 原文地址:https://www.cnblogs.com/littlehoom/p/5353252.html
Copyright © 2011-2022 走看看