私有继承和聚合的分析比较
来源:互联网 发布:淘宝网单管巴乌价格 编辑:程序博客网 时间:2024/05/18 22:40
有时候程序员想利用现有的基类(即通过派生类使用现有的功能),但没有is-a关系,在这种情况下,私有继承就可以有用了。
使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员。这意味着基类方法将不会称为派生对象公有接口的一部分,但可以在派生类的成员函数中使用它们。使用私有继承,基类的公有方法将成为派生类的私有方法。简而言之,派生类不继承基类的接口。使用私有继承,类将继承实现。
聚合将对象作为一个命名的成员对象添加到类中,而私有继承将对象作为一个未被命名的继承对象添加到类中。
聚合与使用私有继承相比,使用聚合的另一个不明显的优点是,这消除了继承层次结构,从而避免了“使用虚方法的代价”以及,讨论的v-table,进而可提高性能。
私有继承的优点可以归纳为:
1.派生类能够访问基类的保护成员函数
2.派生类可以覆盖基类的虚函数:
但与这些优点相伴而行的是如下代价:
1.在多程序员编程环境中,代码的灵活度降低,更容易出错
2.继承带来的性能问题
因此,在可以使用聚合或组合的情况下,最好避免使用私有继承。
在下实力有限,若文章有问题,希望大家指出问题。
- 私有继承和聚合的分析比较
- Maven 的继承和聚合
- maven的继承和聚合
- Maven的聚合和继承
- Maven的聚合和继承
- Maven的聚合和继承
- Maven的继承和聚合
- maven的继承和聚合
- maven的聚合和继承
- maven的聚合和继承
- 公有继承和私有继承的实例
- 公有继承,私有继承和保护继承的可见性
- C++的私有继承、公有继承和保护继承
- 公有继承、私有继承和保护继承之间的对比
- C++的私有继承、公有继承和保护继承
- c++ 公有继承、保护继承和私有继承的区别
- 类的继承 保护继承和私有继承
- C++公有继承、私有继承和保护继承的区别
- linux命令行下的ftp 多文件下载和目录下载
- 学习WDK入门及获取相关资料
- AVC Profile IDC definitions
- ASP.NET 常用功能收藏
- Eclipse中如何集成JBOSS7.0版本
- 私有继承和聚合的分析比较
- 安装Ubuntu,安装配置软件视频教程 (把学C++和CodeBlocks,玩Ubuntu的积累来个总结)
- iphone开发资源汇总
- Spring中的事务管理
- c#中的随机数
- PHP-MVC机制的实现
- 关于hadoop循环获取路径以及获得分片的源代码
- vc开发相关工具收集
- flex中datagrid当字体超出长度时显示标题完整字体