Banner是广告牌,广告牌可以有两种打印文字的方式showWithParen和showWithStar。PrintBanner是发挥适配器的功能,先扩充extends banner,继承其两个方法。它还实现implements了Print接口,实现printWeak和printStrong方法。Print接口是适合于操作的门面。
适配器模式有两种实现方式:
1. 继承
类关系如下:
//banner类
Public Class Banner { Private String string; Public Banner(String string) { This.string = string; } Public void showWithParen() { System.out.println(“(”+string+”)”); } Public void showWithStar() { System.out.println(“*”+string+”*”); } }//print接口 Public interface Print { Public abstract void printWeak(); Public abstract void printStrong(); }
//PrintBanner类 Public Class PrintBanner extends Banner implements Print { Public PrintBanner(String string) { Super(string); } Public void printWeak() { showWithParen(); } Public void printStrong() { showWithStar(); } }
//main类 Public Class Main { Public static void main(String[] args) { Print p = new PrintBanner(“hello”); p.printWeak(); p.printStrong(); } }
2. 委托
//另外一种实现方式是委托。让PrintBanner类包含Banner类成员,其printWeak方法调用banner实例的showWithParen()方法……
写程序不一定每次都从零触发,我们经常用到既有的类,这些类经过测试而稳定高效应尽量利用。
本文深入探讨了Java中适配器模式的两种实现方式:继承和委托,通过具体代码实例展示了如何将不同的接口或类适配为统一的接口,以解决不同对象之间的交互问题。


1654

被折叠的 条评论
为什么被折叠?



