这个模式的原理非常的简单,请看下面的例子。
1. 类图
2. Java实现代码
package cn.edu.ynu.sei.defaultAdapter;
/**
* 接口A<br>
* 这个接口有5个方法,f1~f5
*
* @author 88250
* @version 1.0.0, 2007-8-31
*/
public interface InterfaceA
{
public void f1();
public void f2();
public void f3();
public void f4();
public void f5();
}
/**
* 接口A<br>
* 这个接口有5个方法,f1~f5
*
* @author 88250
* @version 1.0.0, 2007-8-31
*/
public interface InterfaceA
{
public void f1();
public void f2();
public void f3();
public void f4();
public void f5();
}
package cn.edu.ynu.sei.defaultAdapter;
/**
* 缺省的适配器角色<br>
* 这个抽象类为<code>InterfaceA</code>提供了默认实现
*
* @author 88250
* @version 1.0.0, 2007-8-31
*/
public abstract class AdapterC implements InterfaceA
{
@Override
public void f1()
{
// TODO Auto-generated method stub
}
@Override
public void f2()
{
// TODO Auto-generated method stub
}
@Override
public void f3()
{
// TODO Auto-generated method stub
}
@Override
public void f4()
{
// TODO Auto-generated method stub
}
@Override
public void f5()
{
// TODO Auto-generated method stub
}
}
/**
* 缺省的适配器角色<br>
* 这个抽象类为<code>InterfaceA</code>提供了默认实现
*
* @author 88250
* @version 1.0.0, 2007-8-31
*/
public abstract class AdapterC implements InterfaceA
{
@Override
public void f1()
{
// TODO Auto-generated method stub
}
@Override
public void f2()
{
// TODO Auto-generated method stub
}
@Override
public void f3()
{
// TODO Auto-generated method stub
}
@Override
public void f4()
{
// TODO Auto-generated method stub
}
@Override
public void f5()
{
// TODO Auto-generated method stub
}
}
package cn.edu.ynu.sei.defaultAdapter;
/**
* 继承于<code>AdapterC</code>,并覆写了f1()
*
* @author 88250
* @version 1.0.0, 2007-8-31
*/
public class ClassB extends AdapterC
{
@Override
public void f1()
{
// 覆写实现
}
}
/**
* 继承于<code>AdapterC</code>,并覆写了f1()
*
* @author 88250
* @version 1.0.0, 2007-8-31
*/
public class ClassB extends AdapterC
{
@Override
public void f1()
{
// 覆写实现
}
}