组合和继承
来源:互联网 发布:盈建科三维软件停止 编辑:程序博客网 时间:2024/05/29 14:27
组合与继承都允许在新的类中放置子对象,组合是显示的这样做,继承是隐式的做。
组合技术
组合技术实在新类中使用现有的类的功能而非他的接口这种情形。在心累中嵌入某个对象,让其实现需要的功能。但是心累中的用户看到的只是新类所定义的接口,而非嵌入对象的接口。未取得此效果,需要在新类中嵌入一个现有的类,用private修饰。
public class Engine{ private Person person = new Person(); public void toCell(){ person.toSay(); }}class Person{ void toSay(){ System.out.println("hello ~~~!"); }}
组合技术中,可以看到嵌入了某个对象,使用嵌入的对象的更能达到自己所需的要求,但是这是就是紧紧依赖这个对象了,如果那一天这个对象被改变了,那么我们嵌入这个类,可能会导致一系列严重的后果。
论组合和继承
在面向对象中,生产和使用程序代码最哟可能采用过的方法是直接将数据和方法包装进一个类,并且使用该类中该类的对象,也可以运用组合技术使用现有类中来开发新的类,而继承技术是不使用的,因为,尽管我们强调使用OOP的过程中多次使用继承,但这并不意味要尽量使用继承。相反,应该慎用这项技术,其使用场合仅限于你确信使用该项技术确实有效的情况。到底是使用组合还是继承,最清晰的判断就是,我们是否需要从新类向基类的向上转型,如果需要就用继承,如果不需要就需要使用组合最好。还得问一下我真的需要向上转型吗?
阅读全文
0 0
- 继承和组合
- 继承和组合
- 组合和继承
- 继承和组合
- 组合和继承
- 继承和组合
- java 组合和继承
- c++ 继承和组合
- 浅谈继承和组合
- 浅谈继承和组合
- 继承和组合
- 继承和组合
- 继承和组合
- 继承和组合
- 继承和组合
- 继承和组合
- 继承和组合
- 组合和继承
- 构建iOS持续集成平台(一)——自动化构建和依赖管理
- Semaphore实现原理分析
- Linux下复制指定的目录及其子目录下的文件,到其他文件夹下(4种方法)
- Lua整理篇--基础介绍
- 简要谈谈前端性能优化的问题
- 组合和继承
- 将new Date()获取的日期格式化
- 第26讲项目6-定期存款利息计算器
- Android开发艺术探索_View的工作原理(四)
- matlab练习程序(LBP,局部二值模型)
- PostgreSQL Daily Maintenance
- SDIO驱动总结
- OSG自定义拖拽器
- Java方法中通过传递参数改变变量的值