继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

设计模式笔记(7)--桥接模式

幕布斯6054654
关注TA
已关注
手记 1264
粉丝 219
获赞 1011

桥接模式

继承所带来的子类与父类的强依赖关系限制了复用性和程序的灵活性。

需要尽量使用合成/聚合,尽量不要使用类继承。

聚合表示一种弱“拥有”关系,比如对象A可以包含对象B,但对象B不一定是对象A的一部分。
合成表示一种强“拥有”关系,是严格的部分和整体的关系。

合成最明显的特点是部分和整体具有相同的生命周期。

合成聚合复用原则的好处是有助于保持每个类都被封装,并被集中在单一任务上。类与类继承的层次可以保持比较小的规模。

GOF对于桥接模式的定义是:“将抽象部分与它的实现部分分离,使他们都可以独立地发生变化。”

抽象与实现分离:
抽象类与它的派生类用来实现自己的对象。桥接模式适用于有多重分类且每种分类都需要独立变化的情况。

public abstract class math{    public abstract void select();
}public class mathanalysis extends math{    @override
    public void select()
    {        "shufen"
    }
}public class advancemath extends math{    @override
    public void select()
    {        "gaoshu"
    }
}public abstract class departments{    protected math mathcourse;    public void setcourse(math m)
    {
        mathcourse = m;
    }    public abstract void select();
}public class computer extends departments{    @override
    public void select()
    {        "计算机系开始选课了"   
        ((math)mathcourse).select();
    }
}public class mathematics extends departments{    @override
    public void select()
    {        "数学系开始选课了"   
        ((math)mathcourse).select();
    }
}



作者:球球球球笨
链接:https://www.jianshu.com/p/7e52f5286843


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP