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()方法……
写程序不一定每次都从零触发,我们经常用到既有的类,这些类经过测试而稳定高效应尽量利用。