C++程序设计教程:基于对象编程与程序扩展

需积分: 3 3 下载量 12 浏览量 更新于2024-08-24 收藏 110KB PPT 举报
"该资源是钱能C++程序设计教程(第二版)的第十一章——基于对象编程的课件,主要讨论了抽象编程、编程质量、问题分析、基于过程和对象的实现、程序维护与扩展等内容。" 在C++程序设计中,可扩充性是一个关键概念,它关乎系统在未来需要添加新功能时的灵活性和适应性。可扩充性意味着当系统需要扩展时,可以尽可能地避免对原有代码的大量修改,确保核心功能不受影响。描述中提到了过程化编程和对象化编程两种不同的编程范式对于可扩充性的影响。 过程化编程通常强调函数和过程的调用,当需要扩展功能时,可能需要在多个地方修改代码,这可能导致代码维护困难且容易出错。相比之下,对象化编程,特别是使用抽象数据类型,允许功能扩展而不干扰原系统的正常运行。如果扩展涉及到抽象数据类型,只需要添加或修改与新功能相关的代码,而无需触及基础架构。对于应用程序功能的扩展,使用面向对象的方法(如继承和多态)可以显著减少修改原有代码的需求。 本课件中,"抽象编程"被分为行为抽象和数据抽象两部分。行为抽象是指将一系列相关操作合并成单一行为,简化处理流程,如将吃饭的所有步骤抽象为"吃饭"这个行为。数据抽象则是将具有相似属性的事物归类,形成抽象的数据类型,比如将几何形状归类为圆形、三角形和长方形等。 数据结构是抽象编程中的一个重要概念,它是由性质相同的数据组织成特定逻辑结构,并附带一系列操作的集合。例如,整型向量是一个数据结构,它包含了线性存储的整型值,提供创建、复制、增删、修改等操作,还可以配合排序和查找算法。 抽象编程的目标是减少编程复杂性和工作量。过程化编程侧重于通过功能分解来解决问题,而对象化编程则更注重数据抽象,通过定义和复用抽象数据类型来简化编程,提高代码的可维护性和可扩展性。这种基于对象的抽象编程方法在解决实际问题时更为高效,因为它允许通过类型复用来实现代码重用,便于程序的维护和扩展。 本课件深入探讨了C++中如何通过抽象编程来提升程序的可维护性和可扩展性,尤其强调了对象化编程在这一过程中的优势。学习这些内容有助于开发者构建更加健壮、易于扩展的软件系统。