1、类适配器模式
实现方式:定义一个适配器类来实现当前系统的业务接口,同时又继承现有组件库中已经存在的组件。
public class HelloWorld {
public static void main(String[] args) {
Computer computer = new Computer();
SDCard sdCard = new SDCardImpl();
System.out.println(computer.readSD(sdCard));
System.out.println("------------");
SDAdapterTF adapter = new SDAdapterTF();
System.out.println(computer.readSD(adapter));
}
}
// SD卡的接口
interface SDCard {
// 读取SD卡功能
String readSD();
// 写入SD卡功能
void writeSD(String msg);
}
// SD卡实现类
class SDCardImpl implements SDCard {
@Override
public String readSD() {
String msg = "sd card read a msg: hello sd card";
return msg;
}
@Override
public void writeSD(String msg) {
System.out.println("sd card write msg: " + msg);
}
}
// 电脑类
class Computer {
public String readSD(SDCard sdCard) {
if (sdCard == null) {
throw new NullPointerException("sd card null");
}
return sdCard.readSD();
}
}
// TF卡接口
interface TFCard {
// 读取TF卡功能
String readTF();
// 写入TF卡功能
void writeTF(String msg);
}
// TF卡实现类
class TFCardImpl implements TFCard {
@Override
public String readTF() {
String msg = "sd card read a msg: hello tf card";
return msg;
}
@Override
public void writeTF(String msg) {
System.out.println("tf card write msg: " + msg);
}
}
// 定义适配器类(SD兼容TF)
class SDAdapterTF extends TFCardImpl implements SDCard {
@Override
public String readSD() {
System.out.println("adapter read tf card ");
return readTF();
}
@Override
public void writeSD(String msg) {
System.out.println("adapter write tf card");
writeTF(msg);
}
}2、对象适配器模式
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,旨在提供便捷的用户体验,无需下载安装即可在微信内使用。本压缩包包含了丰富的源码资源,涵盖了多个领域的应用场景,下面将逐一介绍其中涉及的知识点。1. 图片展示:这部分源码可能涉及了微信小程序中的``组件的使用,用于显示图片,以及`wx.getSystemInfo`接口获取屏幕尺寸,实现图片的适配和响应式布局。可能还包括了图片懒加
0
实现方式:对象适配器模式可采用将现有组件库中已经实现的组件引入适配器中,该类同时实现当前系统的业务接口。
public class HelloWorld {
public static void main(String[] args) {
Computer computer = new Computer();
SDCard sdCard = new SDCardImpl();
System.out.println(computer.readSD(sdCard));
System.out.println("------------");
TFCard tfCard = new TFCardImpl();
SDAdapterTF adapter = new SDAdapterTF(tfCard);
System.out.println(computer.readSD(adapter));
}
}
// SD卡的接口
interface SDCard {
// 读取SD卡功能
String readSD();
// 写入SD卡功能
void writeSD(String msg);
}
// SD卡实现类
class SDCardImpl implements SDCard {
@Override
public String readSD() {
String msg = "sd card read a msg: hello sd card";
return msg;
}
@Override
public void writeSD(String msg) {
System.out.println("sd card write msg: " + msg);
}
}
// 电脑类
class Computer {
public String readSD(SDCard sdCard) {
if (sdCard == null) {
throw new NullPointerException("sd card null");
}
return sdCard.readSD();
}
}
// TF卡接口
interface TFCard {
// 读取TF卡功能
String readTF();
// 写入TF卡功能
void writeTF(String msg);
}
// TF卡实现类
class TFCardImpl implements TFCard {
@Override
public String readTF() {
String msg = "sd card read a msg: hello tf card";
return msg;
}
@Override
public void writeTF(String msg) {
System.out.println("tf card write msg: " + msg);
}
}
// 定义适配器类(SD兼容TF)
class SDAdapterTF implements SDCard {
private TFCard tfCard;
public SDAdapterTF(TFCard tfCard) {
this.tfCard = tfCard;
}
@Override
public String readSD() {
System.out.println("adapter read tf card ");
return tfCard.readTF();
}
@Override
public void writeSD(String msg) {
System.out.println("adapter write tf card");
tfCard.writeTF(msg);
}
}以上就是Java适配器模式的两种分类以及具体应用场景的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号