阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件系统中,已设计并实现了用于显示地址信息的类Address(如图5—1所示),现要求提供基于。Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该要求,得到如图5—1所示的类图。
【正确答案】正确答案:(1)Address*address (2)address一>street() (3)address一>zip() (4)address一>city() (5)DutchAddress*addrAdapter=new DutchAddressAdapter(addr)
【答案解析】解析:本题考查Adapter(适配器)模式的基本概念和应用。 Adapter模式的设计意图是,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Adapter模式有两种实现方式。类适配使用多重继承对一个接口与另一个接口进行匹配,其结构如图5-2所示。对象适配器依赖于对象组合,其结构如图5-3所示。