做任务赚取佣金网站,公众号的运营地区,做个外贸网站一般需要多少钱,wordpress图片自动添加alt实验8#xff1a;适配器模式
本次实验属于模仿型实验#xff0c;通过本次实验学生将掌握以下内容#xff1a;
1、理解适配器模式的动机#xff0c;掌握该模式的结构#xff1b;
2、能够利用适配器模式解决实际问题。
[实验任务]#xff1a;双向适配器
实现一个双向…实验8适配器模式
本次实验属于模仿型实验通过本次实验学生将掌握以下内容
1、理解适配器模式的动机掌握该模式的结构
2、能够利用适配器模式解决实际问题。
[实验任务]双向适配器
实现一个双向适配器使得猫可以学狗叫狗可以学猫抓老鼠。
类图
源代码 public class Adapter implements Dog, Cat
{private Dog dog;private Cat cat;public Dog getDog(){return dog;}public void setDog(Dog dog){this.dog dog;}public Cat getCat(){return cat;}public void setCat(Cat cat){this.cat cat;}Overridepublic void miao(){System.out.print(猫学);dog.wang();}Overridepublic void catchMouse(){cat.catchMouse();}Overridepublic void wang(){dog.wang();}Overridepublic void act(){System.out.print(狗学);cat.catchMouse();}
}public interface Cat
{//猫叫public void miao();//猫捉老鼠public void catchMouse();
}public class CatImpl implements Cat
{Overridepublic void miao(){System.out.println(猫叫:喵喵喵);}Overridepublic void catchMouse(){System.out.println(猫捉老鼠);}
}public interface Dog
{//狗叫public void wang();//狗捉鸡public void act();
}public class DogImpl implements Dog
{Overridepublic void act(){System.out.println(狗捉鸡);}Overridepublic void wang(){System.out.println(狗叫汪汪汪);}
}public class Client
{public static void main(String[] args){//实例化猫和狗Cat cat new CatImpl();Dog dog new DogImpl();//猫叫cat.miao();//狗捉鸡dog.act();//实例化双向适配器Adapter adapter new Adapter();//将狗对象设置到适配器中adapter.setDog(dog);//将猫对象设置到适配器中adapter.setCat(cat);//将适配器对象赋值给猫实现猫对象学习狗的行为cat adapter;//猫学狗叫cat.miao();//将适配器对象赋值给狗实现狗对象学习猫的行为dog adapter;// 狗学猫捉老鼠dog.act();}
}
运行效果