- package dp.adapter;
- /**
- * 我们吃饭就是等上齐了一起吃,非吃即喝,反正一直嘴不停的吃
- * 被适配的类
- */
- public class MyEat {
- public void eat(){
- System.out.println("吃饭");
- }
- public void drink(){
- System.out.println("喝汤");
- }
- }
- package dp.adapter;
- /**
- * MM吃饭方式步骤
- * 适配的目标接口
- */
- public interface MMeatTarget {
- /**
- *<p>MM喝饭前汤</p>
- */
- public void eatFanQitanTang();
- /**
- *<p>MM吃正餐</p>
- */
- public void eatZhengCan();
- /**
- *<p>MM吃饭后水果</p>
- */
- public void eatFanHouShuiGuo();
- }
- package dp.adapter;
- public class Adapter implements MMeatTarget{
- public MyEat me = new MyEat();
- public Adapter(MyEat me){
- this.me = me;
- }
- @Override
- public void eatFanHouShuiGuo() {
- System.out.println("我正在按照MM的步骤吃饭后水果");
- me.eat();
- }
- @Override
- public void eatFanQitanTang() {
- System.out.println("我正在按照MM的步骤吃饭前汤");
- me.drink();
- }
- @Override
- public void eatZhengCan() {
- System.out.println("我正在按照MM的步骤吃饭正餐");
- me.eat();
- me.drink();
- }
- }
- package dp.adapter;
- public class Client {
- public static void main(String[] args) {
- MMeatTarget met = new Adapter(new MyEat());
- met.eatFanQitanTang();
- met.eatZhengCan();
- met.eatFanHouShuiGuo();
- }
- }