适配器模式类图与代码

某软件系统中,已设计并实现了用于显示地址信息的类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();
    }
}
相关推荐
路上阡陌6 分钟前
Java学习笔记(二十四)
java·笔记·学习
带多刺的玫瑰7 分钟前
Leecode刷题C语言之收集所有金币可获得的最大积分
算法·深度优先
LabVIEW开发13 分钟前
PID控制的优势与LabVIEW应用
算法·labview
何中应15 分钟前
Spring Boot中选择性加载Bean的几种方式
java·spring boot·后端
苏苏大大17 分钟前
zookeeper
java·分布式·zookeeper·云原生
涅槃寂雨37 分钟前
C语言小任务——寻找水仙花数
c语言·数据结构·算法
wclass-zhengge44 分钟前
03垃圾回收篇(D3_垃圾收集器的选择及相关参数)
java·jvm
就爱学编程1 小时前
从C语言看数据结构和算法:复杂度决定性能
c语言·数据结构·算法
涛ing1 小时前
23. C语言 文件操作详解
java·linux·c语言·开发语言·c++·vscode·vim
刀客1231 小时前
数据结构与算法再探(六)动态规划
算法·动态规划