当客户需要的接口提供方法和既存类提供方法不兼容,而既存类又因为某些原因不能改变时,可以使用适配器模式,建立适配器子类完成客户接口方法到既存类方法的映射.
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();
}
}
}