• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
适配器模式——java实现

问题描述:

实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。

类图:

 

 

Java代码:

//Cat.java
package shiyan8;

public interface Cat {    
    public void cry();
    public void zhua();
}
 //Dag.java
package shiyan8;

public interface Dog {
    public void wang();
    public void run();
} 
//Realcat.java
package shiyan8;

public class Realcat implements Cat{
    public void cry(){
        System.out.println("喵喵叫!");
    }
    public void zhua(){
        System.out.println("抓老鼠!");
    }
} 
//Realdog.java
package shiyan8;

public interface Dog {
    public void wang();
    public void run();
} 
//Adapter.java
package shiyan8;

public class Adapter implements Cat,Dog{
    private Cat cat=new Realcat();
    private Dog dog=new Realdog();
    public void setcat(Cat _cat){
        cat=_cat;
    }
    public void setdog(Dog _dog){
        dog=_dog;
    }
    public void zhua(){}
    public void wang(){}
    public void run(){
        System.out.println("小狗学小猫:");
        cat.zhua();
    }
    public void cry(){
        System.out.println("小猫学小狗:");
        dog.wang();
    }
} 
//main.java
package shiyan8;

public class main {

    public static void main(String[] args) {
        Dog dog=new Adapter();
        Cat cat=new Adapter();
        dog.run();
        cat.cry();
    } 
}

 

运行结果:

 

posted on 2021-10-01 16:26  戈瑾  阅读(711)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3