当客户需要的接口提供方法和既存类提供方法不兼容,而既存类又因为某些原因不能改变时,可以使用适配器模式,建立适配器子类完成客户接口方法到既存类方法的映射.
java代码如下:
package com.liu.pattern7;public class Adapter { public static void main(String[] args) { IUser user = new AdapterUser(); user.PRintOK(); user.printNG(); }}interface IUser{ public void printOK(); public void printNG(); }class MyUser{ public void testOK(){ System.out.println("testOK"); } public void testNG(){ System.out.println("testNG"); }}class AdapterUser extends MyUser implements IUser{ @Override public void printOK() { super.testOK(); } @Override public void printNG() { super.testNG(); } }
C#代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace com.liu.pattern7{ class Adapter { static void Main(string[] args) { IUser user = new AdapterUser(); user.PrintOK(); user.PrintNG(); System.Console.ReadKey(); } } interface IUser { void PrintOK(); void PrintNG(); } class MyUser { public void TestOK(){ System.Console.WriteLine("testOK"); } public void TestNG(){ System.Console.WriteLine("testNG"); } }class AdapterUser : MyUser , IUser{ public void PrintOK() { base.TestOK(); } public void PrintNG() { base.TestNG(); } }}
新闻热点
疑难解答