第1部分 接口型模式 第3章 Adapter(适配器)模式

前言

      当客户的调用方法和提供服务的方法不太一致的时候,可以使用适配器模式

 

3.1 类适配器

     不改变现存代码

 

     现存的服务Class1的Method1

     现存的客户Interface1的Method2

    

     创建新的类NewClass,继承Class1和Interface1

     在NewClass的Method2,调用Method1

 

3.2 对象适配器

     有时接口不是Interface而是一个类时,就要用对象适配器

     对象适配器利用委托(方法重写)

 

     现存的服务Class1的Method1

     现存的客户Class2的Method2

    

     创建新的类NewClass,继承Class2

     在内部保存Class1的对象

     在NewClass的Method2,Class1的对象调用Method1

 

      类适配器:扩展一个类,继承一个接口

      对象适配器:继承一个类,他的风险是,不能或不可以重写全部的方法

 

3.3 为Jtable适配数据(一个典型的例子)

      Jtable是一个画表格的组件,他并不知道具体的数据,传统的方式是定义一个复杂的数据结构,由数据提供者填写该数据结构

      而Jtable利用了对象适配器,

 

      现存的服务数据提供者

      现存的客户JTable

 

      使用方法:

      创建一个新类(NewClass),继承AbstractTableModel类

      该类保有数据提供者的对象(可以是复数个)(可利用构造器传入)

      重写AbstractTableModel的方法,填充数据

 

      使用的时候,将NewClass的对象作为参数传递给Jtable的启动方法

      该启动方法的参数是(AbstractTableModel)

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值