资讯专栏INFORMATION COLUMN

JAVA桥接模式 2013软件设计师下半年下午题

SegmentFault / 1637人阅读

摘要:桥接模式类图总是上传不了本地图片啊图在上面链接画的线画的圆画的线画的圆画长方形都没有桥接模式标签啊。。。

桥接模式类图 SF总是上传不了本地图片啊 ↑图在上面链接↑
interface Drawing{
    public void drawLine(double x1,double y1,double x2,double y2);
    public void drawCircle(double x,double y,double r);
}

class V1Drawing implements Drawing{
    public void drawLine(double x1,double y1,double x2,double y2){DP1.draw_a_line(x1,y1,x2,y2);}
    public void drawCircle(double x,double y,double r){DP1.draw_a_circle(x, y, r);}
}
class V2Drawing implements Drawing{
    public void drawLine(double x1,double x2,double y1,double y2){DP2.drawLine(x1,y1,x2,y2);}
    public void drawCircle(double x,double y,double r){DP2.drawcircle(x, y, r);}
}

class DP1{
    static public void draw_a_line(double x1,double y1,double x2,double y2){
        System.out.println("DP1 画的线");
    }
    static public void draw_a_circle(double x,double y,double r){
        System.out.println("DP1 画的圆");
    }
}
class DP2{
    static public void drawLine(double x1,double y1,double x2,double y2){
        System.out.println("DP2 画的线");
    }
    static public void drawcircle(double x,double y,double r){
        System.out.println("DP2 画的圆");
    }
}



abstract class Shape{
    
    private Drawing _dp;
    
    public Shape(Drawing dp){
        this._dp=dp;
    }
    
    abstract public void draw();
    
    public void drawLine(double x1,double y1,double x2,double y2){
        
        this._dp.drawLine(x1,x2,y1,y2);
    }
    public void drawCircle(double x,double y,double r){this._dp.drawCircle(x,y,r);}
    
}
class Rectangle extends Shape{
    
    private double _x1,_x2,_y1,_y2;
    
    
    public Rectangle(Drawing dp,double x1,double x2,double y1,double y2){
        super(dp);
        this._x1=x1;
        this._x2=x2;
        this._y1=y1;
        this._y2=y2;
        
    }
    public void draw(){
        System.out.println("画长方形"+this._x1+this._x2+this._y1+this._y2);
        drawLine(_x1,_x2,_y1,_y2);
        }
}
class Circle extends Shape{
    private double _x,_y,_r;
    public Circle (Drawing dp,double x,double y,double r){
        super(dp);
    }
    public void draw(){drawCircle(_x,_y,_r);}
}

public class qiaojie {
    
    public static void main(String[] args){
        V1Drawing v1=new V1Drawing();
        V2Drawing v2=new V2Drawing();
        Rectangle r1=new Rectangle(v1,1.0,2.0,3.0,4.0);
        r1.draw();
        v2.drawCircle(2.1, 4.5, 5.6);
        v2.drawLine(2.4, 3.3 ,4.2, 5.1);
    
    }    
}
都没有桥接模式标签啊。。。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66245.html

相关文章

  • JS 桥接模式

    摘要:简介桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。同时桥接模式也有自己的缺点大量的类将导致开发成本的增加,同时在性能方面可能也会有所减少。 1. 简介 桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化。其实就是函数的封装,比如要对某个DOM元素添加color和backgroundColor,可以封装个changeColor函数,这样可以在多个...

    chemzqm 评论0 收藏0
  • 编程中的那些经典套路——设计模式汇总

    摘要:如果看不懂的话,可以在评论区中提问,我会第一时间回答你无论何时我一直都在嗯哼该文章属于编程中的那些经典套路设计模式汇总系列 在正式阅读前,我先谈谈我们该用什么姿势和心态学习设计模式: 如果你还没有过多的编程经验(泛指半年以下),我建议你把它当做小说来看,能看懂多少是多少,因为半年以下经验的程序员用到设计模式的情况只会出现在面试上,至于实际工作中?相对来说这部分不会由你负责。 如果你已...

    youkede 评论0 收藏0
  • JavaScript面试系列:JavaScript设计模式桥接模式和懒加载

    摘要:桥接模式的核心在于将抽象部分和它的实现部分分离,使它们都可以独立的变化。看起来这个版本已经很完美了不,它仍然有可以优化的空间,即题目提到的桥接模式。使用桥接模式的实现版本这个实现包含了三个函数。这个例子体现了桥接模式的作用。 我写的程序员面试系列文章 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因?...

    tracymac7 评论0 收藏0
  • 前端开发-从入门到Offer - 收藏集 - 掘金

    摘要:一些知识点有哪些方法方法前端从入门菜鸟到实践老司机所需要的资料与指南合集前端掘金前端从入门菜鸟到实践老司机所需要的资料与指南合集归属于笔者的前端入门与最佳实践。 工欲善其事必先利其器-前端实习简历篇 - 掘金 有幸认识很多在大厂工作的学长,在春招正式开始前为我提供很多内部推荐的机会,非常感谢他们对我的帮助。现在就要去北京了,对第一份正式的实习工作也充满期待,也希望把自己遇到的一些问题和...

    sf_wangchong 评论0 收藏0
  • 设计模式桥接模式

    摘要:桥接模式中的所谓脱耦,就是指在一个软件系统的抽象化和实现化之间使用关联关系组合或者聚合关系而不是继承关系,从而使两者可以相对独立地变化,这就是桥接模式的用意。 0x01.定义与类型 定义:将抽象部分与它的具体实现部分分离,使它们都可以独立地变化。 桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。 桥接模式中的所谓脱耦,就是指在一个软...

    kycool 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<