算法(4th ed)(86):基础——数据抽象 4.3.1

阅读数:9 2019 年 11 月 2 日 12:09

算法(4th ed)(86):基础——数据抽象 4.3.1

(抽象数据类型的实现:实例变量)

要定义数据类型的值(即每个对象的状态),我们需要声明实例变量,声明的方式和局部变量差不多。实例变量和你所熟悉的静态方法或是某个代码段中的局部变量最关键的区别在于:每一时刻每个局部变量只会有一个值,但每个实例变量则对应着无数值(数据类型的每个实例对象都会有一个)。这并不会产生二义性,因为我们在访问实例变量时都需要通过一个对象——我们访问的是这个对象的值。同样,每个实例变量的声明都需要一个可见性修饰符。在抽象数据类型的实现中,我们会使用 private,也就是使用 Java 语言的机制来保证向使用者隐藏抽象数据类型中的数据表示,如下面的示例所示。如果该值在初始化之后不应该再被改变,我们也会使用finalCounter 类型含有两个实例变量,一个String 类型的值name 和一个int 类型的值count。如果我们使用public 修饰这些实例变量(在 Java 中是允许的),那么根据定义,这种数据类型就不再是抽象的了,因此我们不会这么做。

评论

发布