组合与继承之间选择
来源:互联网 发布:cba数据 编辑:程序博客网 时间:2024/06/05 09:57
组合和继承都允许在新的类中放置子对象,组合是显示地这样做,而继承则是隐式地做。
组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情形。即,在新类中嵌入某个兑现,让其实现所需的功能,但新类的用户看到的只是为新类所定义的接口,而非所嵌入兑现的接口。为取得此效果,需要在新类中嵌入一个现有类的private对象。
在继承的时候,使用某个现有类,并开发一个它的特殊版本。通常,这意味着你在使用一个通用类,并为了某种特殊需要而将其特殊化。is-a的关系是用继承来表达的,而has-a的关系是用组合来表达的。是否需要从新类向基类进行向上转型。如果必须向上转型,则继承是必要的;
为新的类提供方法并不是继承技术中最重要的方面,其最重要的方面是用来表现新类和基类之间的关系。这种关系可以用“新类是现有类的一种类型”加以概括
使用final方法的两个原因:第一、方法锁定,以防任何继承类修改它的含义,这是出于设计的考虑;想要确保在继承中使方法行为保持不变,并且不会被覆盖。
阅读全文
0 0
- 组合与继承之间选择
- 组合与继承之间选择
- 组合与继承之间选择
- 在组合与继承之间选择
- 组合与继承之间的选择
- Java组合与继承之间的选择
- 在组合与继承之间的选择
- 组合与继承之间的区别及如何选择
- JAVA中有关组合与继承之间选择的问题
- 继承与组合的选择
- 代理是继承与组合之间的中庸之道
- 类与类之间的关系:继承,组合还是聚合?
- 类与类之间的关系:继承,组合还是聚合?
- 关于面向对象设计中继承与组合的选择
- java编程思想学习笔记:如何选择继承与组合
- 组合和继承的选择
- 论组合与继承
- 组合与继承
- JavaScript(二)--BOM编程/事件编程/DOM编程/正则表达式
- SQL创建用户、创建表
- linux拖拽-rz和sz命令简介
- C指针
- Thinking in java个人笔记3
- 组合与继承之间选择
- MSB与LSB
- 回调函数和钩子函数的区别
- 敏感文件误上传到 Github 怎么办?
- DELPHI 7 ICS控件
- Gradle安装
- 生产者——消费者模式
- [leetcode]561. Array Partition I
- git具体操作,github(未完)