package AdapterPattern;import AdapterPattern.CnTest.CnPluginInterface;import AdapterPattern.CnTest.Home;/*** 国际插口转换 英式插口 适配器** @author RXJ**/public class AdapterTest {public static void main(String[] args) {EnPluginInterface enPlugin = new EnPlugin();Home home = new Home();PluginAdapter pluginAdapter = new PluginAdapter(enPlugin);home.setPlugin(pluginAdapter);// 会输出 "charge with EnPlugin"home.charge();}// 英标插头public interface EnPluginInterface {void chargeWith3Pins();}// 实现英标插座的充电方法public static class EnPlugin implements EnPluginInterface {public void chargeWith3Pins() {System.out.println("charge with EnPlugin");}}// 适配器public static class PluginAdapter implements CnPluginInterface {private EnPluginInterface enPlugin;public PluginAdapter(EnPluginInterface enPlugin) {this.enPlugin = enPlugin;}// 这是重点,适配器实现了英标的插头,然后重载国标的充电方法为英标的方法@Overridepublic void chargeWith2Pins() {enPlugin.chargeWith3Pins();}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。