适配器模式实例

本文介绍了一种使用适配器模式解决不同类间方法复用问题的方法。通过创建DrawAdapter类,继承DrawCircle并实现DrawAngle的方法,实现了DrawCircle类调用DrawAngle的功能。
摘要由CSDN通过智能技术生成

适配器模式实例

问题描述:

现在要在DrawCircle 中调用DrawAngle 的方法,可是类已经分发出去了,不能修改,如何用适配器模式解决这个问题,画出类关系图并说明采用的是哪种适配器模式?

DrawCircle类:

public class DrawCircle{
    public void DrawCircle() {

    }
    public void insert(String msg){
    	System.out.println("DrawCircle insert():"+msg);
    }

}

DrawAngle类:

public class DrawAngle{
    public void DrawAngle() {
    }
    public void insert(String msg){
        System.out.println("DrawAngle insert():"+msg);
    }
}

类关系图:

请添加图片描述

DrawAdapter类:

package com.shipei;

public class DrawAdapter extends DrawCircle {
    private DrawAngle drawAngle;
    public DrawAdapter(){
        drawAngle=new DrawAngle();
    }
    public void insert(String str){
        drawAngle.insert(str);
    }
}

测试类:

public class testAdapter {
    @Test
    public void testDraw(){
        DrawCircle draw = new DrawAdapter();
        draw.insert("复用");
    }
}

运行结果:

请添加图片描述

总结:通过适配器可以将两个不相干的类联系到一起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值