第1章 Ada简介 6
1.1 什么是Ada 6
1.2 一个简单的Ada程序 8
1.3 Use子句 10
1.4 简单变量、整数、参数和异常 11
本章练习 12
第2章 Ada的基本结构(程序包) 14
2.1 程序单元 14
2.2 声明和体 15
2.3 程序包 16
2.4 编译单元 17
2.5 基本的Ada结构的回顾 19
本章练习 20
3.1 Ada的语法成分 21
第3章 Ada的语法成分 21
3.2 标识符 22
3.3 数字字面值 23
3.4 字符字面值和串字面值 24
本章练习 25
第4章 过程和整型 27
4.1 整型 27
4.2 子程序声明和参数 28
4.3 子程序体和局部变量 30
本章练习 32
第5章 语句(If、Loop) 33
5.1 If语句 33
5.2 Case语句 35
5.3 简单的循环 37
5.4 循环迭代方式 39
本章练习 40
第6章 基本类型(Float、Boolean、Subtypes和Record) 42
6.1 浮点型Float 42
6.2 布尔型Boolean 43
6.3 创建类型和子类型 44
6.4 枚举类型(Enumeration) 47
6.5 数组(Arrays) 48
6.6 记录(Records) 49
6.7 私有类型与受限私有类型 51
本章练习 53
第7章 面向对象的程序设计 55
7.1 面向对象程序设计:概述 55
7.2 Ada的面向对象程序设计:继承性 58
7.3 Ada中的动态分派(多态性) 61
7.4 封装 63
7.5 标准的面向对象格式 66
7.6 抽象类型和抽象子程序 67
7.7 用户控制的初始化、终结和赋值 69
本章练习 70
第8章 字符串类型简介 71
8.1 字符类型和宽字符类型 71
8.2 字符串类型 73
8.3 字符串类型基础知识 75
8.4 在子程序间传递字符串 77
8.5 未定界字符串基础知识 78
8.6 未定界字符串的输入和输出 81
本章练习 83
第9章 基本输入和输出 85
9.1 简单文本文件的输入和输出 85
9.2 行和文件的结束 87
9.3 Text-IO的其它功能 89
9.4 程序包Command-Line 90
本章练习 93
第10章 异常(Exception) 94
10.1 异常基础知识 94
10.2 声明异常 95
10.3 处理异常 96
本章练习 98
第11章 式样(Generics) 100
11.1 式样的定义 100
11.2 式样的形式参数 103
11.3 式样程序包的例子 105
11.4 GADT和GADO 107
本章练习 111
12.1 声明访问类型 114
第12章 访问类型 114
12.2 用访问变量来创建未定界类型 116
12.3 访问类型上的基本操作 118
12.4 访问值的使用 123
12.5 面向对象编程中的访问类型参数 125
12.6 式样过程Unchecked-Deallocation 127
12.7 综合使用访问类型变量 129
本章练习 134
第13章 任务和保护类型 135
13.1 任务的基本概念 135
13.2 创建任务以及在任务之间通讯 137
13.3 保护类型 140
13.4 保护类型(续) 142
13.5 关于任务类型的其它问题 144
本章练习 145
14.1 与Ada有关的关键文档 147
第14章 Ada相关信息 147
14.2 Ada参考手册(RM)的结构 148
14.3 与Ada相关的联机信息资源 150
本章练习 151
第15章 Ada程序结构 153
15.1 Ada程序结构 153
15.2 子辈程序包 154
本章练习 158
第16章与其它语言的接口 159
16.1 与其它语言接口的一般信息 159
16.2 与C语言的交互 162
16.3 Ada绑定(Binding) 166
16.4 Java和Ada的融合 168
16.5 开发Ada“一触即发程序” 173
16.6 一个较大的一触即发程序 178
16.7 Java界面(Interface)和别名组件 183
16.8 Ada语言和Java语言的比较 186
第17章 Ada的其它问题 190
17.1 语言定义的属性 190
17.2 递归 193
17.3 效率 194
17.4 Ada与安全性 196
17.5 软件审查/读程序查错误 199
17.6 Ada的其它功能 203
本章练习 204
英汉Ada词汇表 205
汉英Ada词汇表 208
各节小测验参考答案 211
参考文献 224
致谢 226