首页 > 其他分享 >适配器模式

适配器模式

时间:2023-11-21 21:22:27浏览次数:22  
标签:适配器 dog 模式 cat public Dog Cat void

[实验任务一]:双向适配器
实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。
实验要求:

  1. 画出对应的类图;

  2. 提交源代码;
    Adapter.java
    package robot;

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("A dog learns from a cat:");

    cat.zhua();

}

public void cry(){

    System.out.println("A cat like dog:");

    dog.wang();

}

}
Cat.java
package robot;

public interface Cat {

public void cry();

public void zhua();

}

Dog.java
package robot;

public interface Dog {

public void wang();

public void run();

}

Main.java
package robot;

public class main {

public static void main(String[] args) {

    Dog dog=new Adapter();

    Cat cat=new Adapter();

    dog.run();

    cat.cry();

}

}

Realcat.java
package robot;

public class Realcat implements Cat{

public void cry(){

    System.out.println("miao miao!");

}

public void zhua(){

    System.out.println("Catch the mouse!");

}

}

Realdog.java
package robot;

public class Realdog implements Dog{

public void wang(){

    System.out.println("wang wang!");

}

public void run(){

    System.out.println("Make a run for it!");

}

}

3.注意编程规范。

标签:适配器,dog,模式,cat,public,Dog,Cat,void
From: https://www.cnblogs.com/yzx-sir/p/17847638.html

相关文章

  • 无涯教程-Sed - 模式范围
    本章介绍了SED如何处理PatternRange(模式范围)PatternRange可以是简单的文本或复杂的正则表达式。下面的示例打印作者Paulo的所有书籍。[jerry]$sed-n'/Paulo/p'books.txt执行上述代码后,您将得到以下输出:3)TheAlchemist,PauloCoelho,1975)ThePilgrimage,Paul......
  • 单例模式 ----实例化类的方法
    定义:确保一个类最多只有一个实例,并提供一个全局访问点单例模式可以分为两种:预加载和懒加载预加载:顾名思义,就是预先加载。再进一步解释就是还没有使用该单例对象,但是,该单例对象就已经被加载到内存了。         很明显,没有使用该单例对象,该对象就被加载到了内......
  • 软件设计模式学习每日总结-第九天
    第九天组合模式:组合多个对象形成树形结构,使得叶子和容器的使用具有一致性。透明组合模式:声明了对象的所有的方法。安全组合模式:不声明对象的方法。 ......
  • IdentityServer4:客户端模式
    IdentityServer4:客户端模式  目录IdentityServer4:客户端模式Api资源项目创建项目依赖包添加认证方案添加Api认证服务器创建项目依赖包配置IdentityServer4集成IdentityServer4客户端模式客户端创建项目依赖包Program.csDataService.cs......
  • IdentityServer4:密码模式
    IdentityServer4:密码模式  目录IdentityServer4:密码授权模式Api资源项目创建项目依赖包添加认证方案添加Api认证服务器创建项目依赖包配置IdentityServer4集成IdentityServer4密码模式客户端创建项目依赖包Program.csDataService.cs......
  • IdentityServer4:简化(隐式)模式
    IdentityServer4:简化(隐式)模式  目录IdentityServer4:简化(隐式)模式Api资源项目创建项目依赖包添加认证方案添加Api认证服务器创建项目依赖包配置IdentityServer4集成IdentityServer4添加IdentityServer4的QuickstartUIProgram.cs简化......
  • IdentityServer4:授权码模式
    IdentityServer4:授权码模式  目录IdentityServer4:授权码模式Api资源项目创建项目依赖包添加认证方案添加Api修改Index视图添加ApiData视图添加UserInfo视图认证服务器创建项目依赖包配置IdentityServer4集成IdentityServer4添加Ident......
  • 观察者模式
    目录观察者模式概述结构案例实现优缺点使用场景JDK中提供的实现观察者模式概述定义:又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。......
  • 状态模式
    目录状态模式概述结构案例实现优缺点使用场景状态模式概述【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能进行开门操作,而如果电梯门是停止状态,就可......
  • 访问者模式
    目录访问者模式概述结构案例实现优缺点使用场景扩展访问者模式概述定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。结构访问者模式包含以下主要角色:抽象访问者(Visitor)角色:定义了对每一个元素(Element)访......