2024/11/05
软件设计实验八
[实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。 实验要求: 1. 画出对应的类图; 2. 提交源代码; public interface CatTarget { void catchMouse(); } public interface DogTarget { void brak(); } public class ConcreteCat implements CatTarget{ @Override public void catchMouse() { System.out.print("汤姆:"); System.out.println("抓杰瑞"); } } public class ConcreteDog implements DogTarget{ @Override public void brak() { System.out.print("派克"); System.out.println("狗叫"); } } public class Adapter implements CatTarget, DogTarget{ private CatTarget cat; private DogTarget dog; public Adapter(DogTarget dogTarget, CatTarget catTarget) { this.dog = dogTarget; this.cat = catTarget; } @Override public void catchMouse() { System.out.println("-----这是猫"); dog.brak(); System.out.println("-----这是猫"); } @Override public void brak() { System.out.println("-----这是狗"); cat.catchMouse(); System.out.println("-----这是狗"); } } public class App { public static void main( String[] args ) { DogTarget dog = new ConcreteDog(); CatTarget cat = new ConcreteCat(); dog.brak(); cat.catchMouse(); Adapter adapter = new Adapter(dog, cat); adapter.catchMouse(); adapter.brak(); } }