A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 暮色醉玄阳 中级黑马   /  2014-10-27 14:05  /  1182 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.白箱复用:又叫继承复用,子类会继承父类所有的东西,
        从某种程度上说白箱复用破坏了封装。是一种 is a 的关系。
    例:class Liucy{
          public void teachCpp(){System.out.println("Teach Cpp");}
          public void chimogu(){ }
        }
       class Huxy extends Liucy{}

    2、黑箱复用:又叫组合复用,是一种 has a 的关系。
    例:class Liucy{
          public void teachCpp(){System.out.println("Teach Cpp");}
          public void chimogu(){    }
        }
       class Huxy {
          private Liucy liucy = new Liucy();
          public void teachCpp(){liucy.teachCpp();}
        }
    原则:组合复用取代继承复用原则。
         使我们可以有机会选择该复用的功能。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马