zoukankan      html  css  js  c++  java
  • 类继承和对象组合(摘录设计模式)

    类继承和对象组合是OOB中最常用的两种 技术。
    1. 类继承
    又被称为白箱复用,white box reuse。
    优点:
    类继承可以方便的改变复用的实现,当一个子类重定义了一些而不是全部操作时,它也 能影响它所继承的操作。
    缺点:
    在编译时刻就定义了,无法在运行时刻改变从父类继承的实现。
    子类实现与父类紧密地依赖,父类实现的任何变化将影响子类。这种依赖限制了灵活性和复用性。
    一个解决方法就是只继承抽象基类,抽象类一般提供较少的实现。
    2. 对象组合(object composition)
    又被称为黑箱复用,black box reuse.
    对象组合通过获得对其他对象的引用而在运行时刻动态定义。
    优点:因对象是只能通过接口访问,所以并不破坏封装性。只要类型一致,运行时刻可以用一个对象替代另一个对象。
    因为对象的实现是基于接口写的,所以实现存在较少的依赖关系。
    另外,优先使用组合有助于保持类的封装,集中在单个任务上。这样类和类继承层次保持较小规模,不会增长为不可控制的庞然大物。
    还有,基于对象组合的设计会有更多的对象而不是较少的类,且系统的行为将依赖于对象间的关系而不是被定义在某个类中。
    所以,
    “优先使用对象组合,而不是类继承”

  • 相关阅读:
    gojs常用API (中文文档)
    webpack的安装
    win10如何将wps设置成默认应用
    gojs常用API-画布操作
    Access中替代case when的方法 .
    C++ 11 中的右值引用
    形参前的&&啥意思?
    【C语言学习笔记】字符串拼接的3种方法 .
    java项目打jar包
    教你用DrawLayout 实现Android 侧滑菜单
  • 原文地址:https://www.cnblogs.com/dqshll/p/1116452.html
Copyright © 2011-2022 走看看