Jialong's Blog

Do things I love, and seek happiness.

0%

抽象数据类型

一、抽象数据类型的实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//数据类型的实现
public class Counter
{
//实例变量
private final String name;
private int count;

//构造函数
public void Counter(String id)
{ name = id; }

//实例方法
public void increment()
{ count++; }
public int tally()
{ return count; }
public String toString()
{ return count + " " + name; }
}


//测试该数据类型的用例
public static void main(String[] args)
{
//创建并初始化对象
Counter heads = new Counter("heads");
Counter tails = new Counter("tails");

//调用实例方法
heads.incerment();
heads.increment();
tails.increment();

StdOut.println(heads + " " + tails);
StdOut.println(heads.tally + tails.tally() ;)
}

相关概念

  • 实例变量:
    • 一个实例变量对应了无数的值,因为数据类型的每个实例对象都有有个。
  • 构造函数:
    • 构造函数是用来创建一个对象的表示,即来初始化实例变量。
    • 它由可见性修饰符、构造函数名称(即数据类型的名称)、参数变量以及初始化实例变量的代码构成。
    • 上一条加粗的三个组成了签名,例如public Counter (String id) 即为一个签名。
  • 实例方法:
    • 是每个对象的具体行为,即实现数据类型的实例方法。
    • 与静态方法的唯一区别是它能够访问并操作实力变量。
  • 作用域
    • 参数变量:作用域为整个方法。
    • 局部变量:定义后的所有语句(一个花括号内)。
    • 实例变量:整个类。