什么是类的组合?说明类的组合和类的继承的相同点和不同点。
什么是类的组合?说明类的组合和类的继承的相同点和不同点。
参考答案和解析
组合关系是一种特殊的聚合关系,在整体拥有部分同时,部分不能脱离整体而存在;当整体不存在时,部分也没有存在的意义。从实现的角度来说,聚合表示一种引用关联,即整体保存部分的引用,部分本身可以相对独立地存在;而组合则表示一种值关联,整体直接拥有部分的值,并负责部分的创建和删除。
相关考题:
以下有关继承的叙述正确的是()。A、构造函数和析构函数都能被继承B、派生类是基类的组合C、派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D、基类的公有成员一定能被派生类的对象访问
下图中,类 Product 和 ConcreteProduct 的关系是(45) 类ConcreteCreator 和ConceteProduct 的关系是(46)A.继承B.关联C.组合D.依赖
在UML类图中,类与类之间存在依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)和继承(Inheritance)5种关系,其中,(45)关系表明类之间的相互联系最弱,(46)关系表明类之间的相互联系最强,聚合(Aggregation)的标准UML图形表示是(47)。A.依赖B.聚合C.组合D.继承
下图为某设计模式的类图,类State和Context的关系为 ( ) ,类 ( )是客户使用的主要接口。A.继承B.实现C.聚合D.组合A.ContextB.ConcreteStateAC.ConcreteStateBD.State
下图中,类Product和ConcreteProduct的关系是 (45),类ConcreteCreator和 ConcreteProduct的关系是 (46) 。A.继承B.关联C.组合D.依赖(46)A.继承B.关联C.组合D.依赖请帮忙给出每个问题的正确答案和分析,谢谢!
下图中,类Product和ConcreteProduct的关系是(请作答此空),类ConcreteCreator和ConcreteProduct的关系是( )。A.继承B.关联C.组合D.依赖
关于设计模式本质的说法,以下哪个是正确的()A、设计模式利用类的继承来实现功能扩展B、设计模式利用类的组合来实现功能扩展C、设计模式就是在不修改原有类的基础上通过新增类来实现功能扩展或功能变更D、设计模式就是利用类的继承和组合来实现功能扩展或功能变更
单选题关于设计模式本质的说法,以下哪个是正确的()A设计模式利用类的继承来实现功能扩展B设计模式利用类的组合来实现功能扩展C设计模式就是在不修改原有类的基础上通过新增类来实现功能扩展或功能变更D设计模式就是利用类的继承和组合来实现功能扩展或功能变更
判断题继承反映了类之间“是”的关系,组合反映了类之间“有”的关系。A对B错