适配器模式

本文介绍了一种通过适配器模式解决教学系统中外教英文授课需求的方案。原有系统已实现中文授课,引入外教后,通过创建英语授课接口及其实现类,再利用适配器类将英语授课接口转换为系统预期的中文授课接口,实现了系统的平滑扩展,同时避免了对现有代码的直接修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话说有一个培训机构做了一个管理系统,里面有一个教师类,教师类中有讲课的方法。

实现教师类和其接口

Public interface Iteach{

       Void teach ();

}

Public class Teacher implements Iteach {

       void teach(){

              System.out.println(“讲课”);

}

}

随着业务的发展该机构引进了一批外教,外教要用英文讲课,系统如何修改?Teacher类已经写好了,系统运行也很正常,如果贸然的修改这个类,说不定会带来潜在问题。

怎么解决?适配器模式登场:

一:实现新的英语外教类和其接口

Pulic interface IteachWithEnglish{

              Void teachWithEnglish();

}

 

Public class EnglishTeacher implements IteachWithEnglish {

              Void teachWithEnglish (){

       System.out.println(“用英语讲课”);

}

}

二:创建适配器类:

Public class AdapterTeacher extends EnglishTeacher implements Iteach{

       Void teach(){

              Super.teachWithEnglish();

}

}

关键就在于这个适配器类,这个类需要继承英语外教类,并实现教师类的接口Iteach.

在实现接口的teach方法时实际上调用的是英语外教类的相关方法。

当要用到教师类的时候:

以前:

Public void main(String[] args){

       Iteach t1 = new Teahcer();

       t1.teach();

}

现在使用适配器类:

Public void main(String[] args){

       Iteach t2 = new AdapterTeacher ();

       t2.teach();

}

可以看到,只需要修改一个地方 由原来的 Teacher修改成AdapterTeacher,做到了最小修改。

 

适配器模式的定义:

来看一下适配器模式的定义:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。

这个例子中我们把EnglishTeacher 类的接口IteachWithEnglish接口变成了Teacher实现的接口Iteach,从而使需要使用Teacher类的地方都可以用适配器AdapterTeacher来代替,这就是适配器模式。

再举一个生活中的例子:笔记本电脑的usb接口只能插入usb接口的设备,现在我想把非usb接口的网线插进去怎么办呢?可以用一个适配器,看图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaxiaomao1981

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值