返回首页


你可以看到这和其他设计模式的大文章。
允许您使一个现有类的工作,在不改变现有的类中的代码与其他现有的类库。
我们经常需要使用现有类的方法,与其他现有的图书馆工作。做到这一点的方式是通过创建另一个类,名为适配器,从现有的类继承,同时执行现有的库的接口。最终的结果是该适配器可以调用现有类的方法(因为适配器是从现有的类继承),并可以在现有的图书馆工作(因为适配器实现现有的库的接口)。
以下是{A}:{A3}适配是现有的类。IInterface是在现有的库中定义的接口。适配器是您创建的类,它继承自适配类,它实现了IInterface接口。请注意,它可以调用的运行的方法(继承的适配),其内的OperationB方法(IInterface实施)。
让我们做一个例子。使用{A4},在那里我们有一个组织树,构建了那里所有的员工实现IEmployee接口的例子。 IEmployee接口是从现有的图书馆。
,然后顾问类,你需要堵塞这个组织到树的顾问类。顾问类适配。
的方式来做到这一点是通过创建命名的EmployeeAdapter适配器类,顾问类继承,同时,它实现了IEmployee的接口:{A5}
适配器中,我们可以再调用父类的方法来模仿共通介面所需的行为。在EmployeeAdapter类中,我们可以调用从父IEmployee接口,这就要求ShowHappiness method.nbsp实施顾问类ShowSmile方法;

以下是实现代码和输出的例子。请注意,我们不需要改变现有的代码在顾问类,但我们可以插入现有IEmployeenbsp其功能;接口:
{A7}
喜欢这篇文章吗?你可以看到这和其他伟大的文章,设计模式{A8} {S3}"

回答

评论会员:亚采Gajek 时间:2012/01/27
感谢。很好的解释和准确的例子
评论会员:。meraydin 时间:2012/01/27
只是FYI
评论会员:raja_krish 时间:2012/01/27
很不错的解释
评论会员:游客 时间:2012/01/27
的Shahriar伊克巴尔乔杜里
很好的例子{S4}
评论会员:游客 时间:2012/01/27
SantanuTripathy:|非常很好解释
!Oshtri德卡
评论会员:简介和精确 时间:2012/01/27