1.2 数据抽象
Robert Sedgewick Kevin Wayne
数据类型指的是一组值和一组对这些值的操作的集合。目前,我们已经详细讨论过 Java 的原始数据类型:例如,原始数据类型 int 的取值范围是 到 之间的整数,int 的操作包括 +、*、-、/、%、< 和 >。原则上所有程序都只需要使用原始数据类型即可,但在更高层次的抽象上编写程序会更加方便。在本节中,我们将重点学习定义和使用数据类型,这个过程也被称为数据抽象(它是对 1.1 节所述的函数抽象风格的补充)。
Java 编程的基础主要是使用 class 关键字构造被称为引用类型的数据类型。这种编程风格也称为面向对象编程,因为它的核心概念是对象,即保存了某个数据类型的值的实体。如果只有 Java 的原始数据类型,我们的程序会在很大程度上被限制在算术计算上,但有了引用类型,我们就能编写操作字符串、图像、声音以及 Java 的标准库中或者本书的网站上的数百种抽象类型的程序。比各种库中预定义的数据类型更重要的是 Java 编程中的数据类型的种类是无限的,因为你能够定义自己的数据类型来抽象任意对象。
抽象数据类型(ADT)是一种能够对使用者隐藏数据表示的数据类型。用 Java 类来实现抽象数据类型和用一组静态方法实现一个函数库并没有什么不同。抽象数据类型的主要不同之处在于它将数据和函数的实现关联,并将数据的表示方式隐藏起来。在使用抽象数据类型时,我们的注意力集中在 API 描述的操作上而不会去关心数据的表示;在实现抽象数据类型时,我们的注意力集中在数据本身并将实现对该数据的各种操作。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了数据抽象的概念及其在Java编程中的应用。通过详细讨论原始数据类型和引用类型,强调了数据抽象的重要性,以及抽象数据类型(ADT)如何隐藏数据表示、支持封装,并定义问题和描述算法和数据结构。文章还介绍了抽象数据类型的API、继承方法和用例代码的编写方式,展示了数据抽象在程序设计中的重要性和灵活性。此外,还详细讨论了对象的状态、标识和行为,以及创建对象和调用实例方法的方式。最后,文章介绍了内存管理、不可变性和契约式设计等概念。通过具体的代码示例和实际应用场景,读者能够深入理解数据抽象的概念及其在Java编程中的实际应用,为他们在软件开发中提供了宝贵的指导和思路。整体而言,本文通过深入的技术讨论,为读者提供了对数据抽象和Java编程中的应用有着全面的了解,强调了抽象数据类型的重要性,以及封装和API设计在现代软件开发中的关键作用。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《算法(第 4 版)》
《算法(第 4 版)》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论