Learning ROS for Robotics Programming - Second Edition
15.8多态性和包容器多态性、动态对象生成和包容器在一个真正的面向对象程序中和谐地被利用,这是很普遍的。动态对象生成和包容器所解决的问题在于设计初期我们可能不知道需要多少对象,需要什么类型的对象,这是因为包容器可持有指向基类对象的指针,每逢我们把派生类指针放入包容器,会发生向上映射(具有相应的代码组织和可扩展性的好处)。
下面的例子有点像垃圾回收的工作过程,首先所有的垃圾被放入一个垃圾箱中,然后分类放入不同的箱中,它有一个函数用于遍历垃圾箱并估算出其中什么有价值。这里的垃圾回收模拟实现并不完美,在第18章说明“运行时类型识别(RTTI)”时,再对该例进一步介绍。
如果你对更多的垃圾回收实例感兴趣,可以看看python对象销毁实例垃圾回收这篇文章,它详细介绍了相关内容。面向对象编程与非面向对象编程这篇文章也非常值得一读,它对比了两种编程范式的不同之处。对于C++的面向对象编程,可以参考面向对象编程II源码,它提供了详尽的代码示例。
至于.NET环境下的垃圾回收和大对象处理,这篇文章提供了详细的介绍。而易语言面向对象编程则是国内常见的编程语言之一,文中有不少有趣的实例。
对于学习Java面向对象编程的读者,Java面向对象编程:类和对象提供了深入的讲解。如果你对Python感兴趣,不妨看看Python面向对象编程。
这些资源不仅丰富了我们的知识,还让我们在学习编程的道路上不再孤单。你是不是也觉得学习编程充满了无限的可能性和乐趣呢?
下载地址
用户评论