适配器模式

概念

将一个类的接口转换成客户希望的另外一个接口,Adapter使原本由于接口不兼容而不能一起工作的类可以一起工作。
读完后是不是感觉一头雾水?简单来说就是现在有一个现成的类,这个类里面的功能也是咱们所需要的,但就是由于接口不符合,所以需要Adapter来转换一下,转换成咱们能用的。

栗子

有一个图形类:

class Shape{
    public String name;
    public String getName(){
        return name;
    }
    public void draw(){

    }
}

正方形和三角形都继承图形类:

class Triangle extends Shape{
    public String name;
    @Override
    public String getName() {
        return this.name;
    }

    @Override
    public void draw() {
        super.draw();
    }
}

class Square extends Shape{
    public String name;
    @Override
    public String getName() {
        return this.name;
    }

    @Override
    public void draw() {
        super.draw();
    }
}

现在有一个现成的圆形:

class Mycircle {
    public String name;
    public String getCircleName(){
        return name;
    }
    public void drawCircle(){
        
    }
}

注意这个现成的圆形里面的方法的名字跟我们在图形中定义的名字是不一样的。
我们现在想画一个圆形,但是这个现有的圆形中的方法名跟我们的不一样,我们可以这样转换一下:

class Circle extends Shape{
    Mycircle circle=new Mycircle();
    @Override
    public String getName() {
        return circle.getCircleName();
    }

    @Override
    public void draw() {
        circle.drawCircle();
    }
}

给那个现成的圆形里面的方法再包裹一层,这样接口就符合了,就可以使用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值