适配器模式-adapter

本文通过模拟顾客希望在一个店铺购买多种商品的需求,介绍了适配器模式的概念。通过定义不同的接口和类来模拟米店和肉店,最终通过适配器类实现了一个地方既可以买米也可以买肉的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

米店只卖米。

肉店只卖肉。

顾客到米店只能买到米,到肉店只能买到肉。

顾客想到一个店中既买到米,又买到肉,于是就产生了适配器模式来满足顾客的需求。

---------------------------------------------------------------------------------------

定义一个接口MiInterface,定义一个卖米的 方法sellMi()。

/**
* 定义一个接口MiInterface,定义一个卖米的方法。
* @author hsy
*  
*/
public interface MiInterface {
public void sellMi();

}

---------------------------------------------------------------------------------------

定义一个类Mi实现了MiInterface接口,并且实现了卖米 方法sellMi()。

即米店只卖米。

/**
*
* @author hsy
*  
*/
public class Mi implements MiInterface {

public void sellMi() {
   System.out.println(" sell mi");
}

}

---------------------------------------------------------------------------------------

定义一个接口RouInterface,定义一个卖米的方法sellRou()。

/**
*
* @author hsy
*  

*/
public interface RouInterface {
public void sellRou();
}

---------------------------------------------------------------------------------------

定义一个类Rou实现了RouInterface接口,并且实现了卖米 方法sellRou()。

即米店只卖肉。

/**
*
* @author hsy
*  
*/
public class Rou implements RouInterface{

public void sellRou() {
   System.out.println(" sell rou");
  
}

}

---------------------------------------------------------------------------------------

定义一个类MAdapter实现了MiInterface和RouInterface接口,

就可以同时实现卖米sellRou() 和卖肉sellMi() 两个方法。

/**
*
* @author tarena
* 适配器(双向)模式
*/
public class MAdapter
implements MiInterface,RouInterface{
private Mi mi;
private Rou r;
public MAdapter(Mi mi){
   this.mi = mi;
}
public MAdapter(Rou r){
   this.r = r;
}

public void sellMi(){ //米店可以卖肉
   r.sellRou();
}
public void sellRou(){ //肉店可以卖米
   mi.sellMi();
}
public static void main(String[] args) {

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值