當客戶需要的接口提供方法和既存類提供方法不兼容,而既存類又因為某些原因不能改變時,可以使用適配器模式,建立適配器子類完成客戶接口方法到既存類方法的映射.
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();			}	}} 
新聞熱點
疑難解答