试题详情
- 简答题软件复用可采用类的继承方式和类的聚合方式,比较两者的优缺点。
- 聚合:一个对象拥有另一个对象或对另一个对象负责(即一个对象包含另一个对象或是另一个对象的一部分)并且聚合对象和其所有具有相同的生命周期(即所谓的“同生共死”关系)。
聚合复用优点:
①容器类仅能通过被包含对象的接口来对其进行访问。
②“黑盒”复用,因为被包含对象的内部细节对外是不可见。
③包装性好。
④实现上的相互依赖性比较小。
⑤每一个类只专注于一项任务。
⑥通过获取指定其他的具有相同类型的对象的使用,可以在运行期间动态地定义(对象的)组合。
聚合的缺点:
①导致系统中的对象过多
②为了能将多个不同的对象作为组合块来使用,必须仔细地对接口进行定义。
类继承:是一种通过扩展(一个已有对象的)实现,从而获得新功能的复用方法。
继承的优点:
①容易进行新的实现,因为其大多数可继承而来
②易于修改或扩展那些被复用的实现。
继承的缺点:
①破坏了封装性,因为这会将父类的实现细节暴露给子类
②“白盒”复用,因为父类的内部细节对于子类而言通常是可见的
③当父类的实现更改时,子类也不得不随之更改
④从父类继承来的实现将不能在运行期间进行改变。 关注下方微信公众号,在线模考后查看
热门试题
- 若定义了函数double*functio
- 用()方法可以改变线程的优先级。
- 一个数组的()实际上是指向该数组的第一个
- 根据下面类中Sum函数成员的原型和注释写
- 定义一个终结类时需要在类首部的关键字cl
- 什么是图形用户界面?它与字符界面有何不同
- 在下面循环语句中循环体执行的次数为()。
- 假定整数变量x的值为10,则执行y=2*
- 在C++语言中,一个函数由函数头和()这
- 以下代码段执行后的输出结果为()intx
- 下列哪一个关键字用于实现接口来定义类?(
- 假定a是一个一维数组,则a[i]的指针访
- 下面的异常()为文件没有找到异常。
- 假定要利用一个类XXK6的对象x 访问其
- 一个类中定义的数据成员或函数成员,可以使
- 对象作为函数参数使用时,一般使用()形式
- 假定AB为一个类,则执行“AB*s=ne
- 下面的异常()为数组下标越界异常。
- 常用的设计模式可分为() 。
- Character流与Byte流的区别是