适配器模式类图与代码

某软件系统中,已设计并实现了用于显示地址信息的类Address,现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该要求,得到如图7.9所示的类图。

【Java代码】

java 复制代码
import java.util.*;
Class Address{
    public void street(){
        //实现代码省略
    }
    public void zip(){
        //实现代码省略
    }
    public void city(){
        //实现代码省略
    }
    //其他成员省略
}

class DutchAddress {
    public void straat() {
        //实现代码省略
    }

    public void postcode() {
        //实现代码省略
    }

    public void plaats() {
        //实现代码省略
    }
    //其他成员省略
}

class DutchAddressAdapter extends DutchAddress {
    private Address address;

    public DutchAddressAdapter(Address addr) {
        address = addr;
    }

    public void straat() {
        address.street();
    }

    public void postcode() {
        address.zip();
    }

    public void plaats() {
        address.city();
    }
    //其他成员省略
}

class Test {
    public static void main(String[] args) {
        Address addr = new Address();
        DutchAddress addrAdapter=new DutchAddressAdaptor(addr);
        System.out.println("\n The DutchAddress\n");
        testDutch(addrAdapter);
    }

    Static voidtestDutch(DutchAddress addr) {
        addr.straat();
        addr.postcode();
        addr.plaats();
    }
}
相关推荐
洛水水3 分钟前
【力扣100题】88.多数元素
数据结构·算法·leetcode
Java面试题总结7 分钟前
SpringBoot API参数校验
java·spring boot·后端
Shan12059 分钟前
无向图的Hierholzer算法流程(一)
算法
武子康12 分钟前
Java-24 深入浅出 Spring 全景:从起源到 Spring 6 一文打通 IoC / AOP / 发展史
java·后端·spring
一切皆是因缘际会13 分钟前
频域特征解构底层机理与双域融合鉴伪算法优化
人工智能·算法·ai·架构
Smilecoc16 分钟前
决策树(三):剪枝
算法·决策树·剪枝
asdfg125896317 分钟前
通俗理解软件开发中前后端开发的架构模式(后端逻辑分层的“三层架构”和前端逻辑分层的“MVC 模式”)
java·架构模式
bIo7lyA8v20 分钟前
算法性能建模的数值方法与误差分析的技术8
算法
Smilecoc21 分钟前
决策树(四):决策树实战之鸢尾花分类
算法·决策树·分类
-Thinker21 分钟前
【无标题】
java·开发语言·算法·图搜索