用Java实现一个双向适配器实例,使得猫(Cat)可以学狗(Dog)叫,狗可以学猫抓老鼠。
时间: 2024-05-31 11:08:25 浏览: 14
以下是一个简单的Java代码实现:
// 定义猫类
public class Cat {
public void catchMouse() {
System.out.println("猫抓老鼠");
}
}
// 定义狗类
public class Dog {
public void bark() {
System.out.println("狗叫");
}
}
// 定义双向适配器
public class Adapter implements Cat, Dog {
private Cat cat;
private Dog dog;
public Adapter(Cat cat, Dog dog) {
this.cat = cat;
this.dog = dog;
}
// 实现猫学狗叫
public void bark() {
cat.catchMouse();
}
// 实现狗学猫抓老鼠
public void catchMouse() {
dog.bark();
}
}
// 测试
public class Test {
public static void main(String[] args) {
Cat cat = new Cat();
Dog dog = new Dog();
Adapter catAdapter = new Adapter(cat, dog);
Adapter dogAdapter = new Adapter(dog, cat);
catAdapter.bark(); // 猫学狗叫
dogAdapter.catchMouse(); // 狗学猫抓老鼠
}
}
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)