| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
译者序
前言
第1章 基本概念
1.1 引言
1.1.1 面向对象的策略
1.1.2 设计策略的定义
1.1.3 例子
1.1.4 UML设计表示法
1.1.5 总的组织
1.2 抽象
1.3 分离
1.4 类、对象和抽象
1.4.1 类
1.4.2 对象
1.4.3 实例化类
1.4.4 从类中创建对象
1.4.5 抽象界面
1.5 合成
1.5.1 合成的概念
1.5.2 利用关联的合成
1.5.3 利用聚集的合成
1.6 概化
1.6.1 层次性
1.6.2 多态性
1.6.3 模式
1.7 组合在一起
1.7.1 与设计策略的关系
1.7.2 与软件工程的关系
1.7.3 定义小结
第2章 使用单个类的对象
2.1 引言
2.1.1 给类命名
2.1.2 创建类的对象
2.1.3 UML表示法
2.2 类和对象的结构
2.2.1 公用部分与私用部分
2.2.2 公用界面中的方法
2.2.3 GUI窗口的抽象
2.2.4 生态仿真中Prey的抽象
2.3 在Java应用程序中操作对象
2.3.1 将操作应用于一个Prey对象
2.3.2 构造并执行一个应用程序
2.3.3 一个示例程序
2.3.4 UML对象表示法
2.4 在一个简单的编程环境中操作GUI对象
2.4.1 将操作应用于Frame对象
2.4.2 事件和反应式系统
2.4.3 一个简单的编程环境
2.4.4 Start窗口
2.4.5 Simulator窗口
2.4.6 示例程序
2.4.7 UML对象表示法
2.5 命名常量
2.5.1 命名常量的作用
2.5.2 声明命名常量
2.5.3 访问命名常量
2.5.4 Prey类中的命名常量
2.5.5 命名常量的UML表示法
2.6 重载的方法
2.6.1 GUI类中重载的方法
2.6.2 Prey类中重载的方法
2.6.3 UML中重载的方法
2.7 Java类中重载的方法
2.7.1 交互式I/O中重载的方法
2.7.2 输出到窗口的流
2.7.3 String类中重载的方法
2.8 对象数组
2.8.1 声明对象数组
2.8.2 在数组中操作对象
2.8.3 处理数组
2.8.4 二维数组
2.9 管理对象
第3章 使用不同类的对象
3.1 引言
3.1.1 复杂信息
3.1.2 交互对象之间的相互关系
3.2 使用对象传递数据
3.2.1 在GUI类中使用对象通信
3.2.2 在生态仿真中使用对象通信
3.3 交互顺序
3.3.1 UML顺序图
3.3.2 GUI对象的交互顺序
3.3.3 Predator类和Prey类的交互顺序
3.4 简单的关联
3.4.1 在GUI类中形成关联
3.4.2 简单的计数器和计时器
3.4.3 在生态仿真中使用关联
3.5 界面
3.5.1 GUI例子中界面的作用
3.5.2 定义一个界面
3.5.3 实现一个界面
3.6 声明界面类型的参数
3.6.1 建立带界面的关联
3.6.2 生态仿真例子中的界面
3.6.3 实现Hunted界面
3.6.4 用Hunted界面声明参数
3.6.5 强制类型转换
3.6.6 实现多重界面
3.7 更复杂的关联
3.7.1 复杂用户界面的关联
3.7.2 重新组织Frame类和Canvas类
3.7.3 生态仿真中更复杂的关联
第4章 实现一个新类
4.1 引言
4.2 实现一个类
4.2.1 一般概念
4.2.2 一个简单的例子
4.2.3 同一个类中方法的调用
4.2.4 定义和调用私用方法
4.2.5 使用界面变量
4.2.6 封装
4.3 聚集的作用
4.3.1 聚集的概念
4.3.2 聚集的优点
4.3.3 聚集的类型
4.4 简单的静态聚集
4.4.1 生态仿真中的聚集
4.4.2 共享的子对象
4.5 更复杂的静态聚集
4.5.1 间接控制
4.5.2 实现StopWatch类
4.5.3 实现Simulation类
4.6 动态聚集
4.6.1 使用链表实现动态聚集
4.6.2 使用Vector实现动态聚集
4.7 “this”变量
4.7.1 链式构造函数
4.7.2 消除歧义性
4.7.3 作为结果返回“this”
4.7.4 作为参数传递“this”变量:回调
4.8 复制可变对象
第5章 产生一个面向对象的系统
5.1 引言
5.2 设计类
5.2.1 发现类设计
5.2.2 评价类设计
5.3 设计复杂的逻辑
5.4 调试
5.4.1 差错、缺陷和故障
5.4.2 调试工具的作用
5.4.3 调试环境
5.4.4 调试策略
5.5 将相关的类组织成包
5.5.1 包的用途
5.5.2 创建包
5.5.3 引入类
5.5.4 储存和查找包
5.5.5 限制对包成员的访问
5.6 对类编制文档
5.6.1 外部文档
5.6.2 javadoc工具
5.6.3 Javadoc中结构化的注释和标记
5.6.4 一个例子
第6章 继承
6.1 引言
6.2 利用继承来共享实现
6.2.1 概化两个数字类
6.2.2 概化predator和prey的抽象
6.3 继承方法和数据
6.3.1 用DisplayableNumber类的继承
6.3.2 利用Animal类的继承
6.4 替换继承的类
6.4.1 替换Number类中的一个方法
6.4.2 在Predator类中替换一个方法
6.5 扩展继承的方法
6.5.1 扩展Cycler类的方法
6.5.2 扩展Predator类中的方法
6.6 隐藏继承的方法
6.6.1 问题
6.6.2 解决方案
6.7 类型强制转换
6.7.1 概念
6.7.2 利用DisplayableNumber的一个例子
6.7.3 Java类库中的类型强制转换
6.7.4 利用Animal类的类型强制转换
6.8 动态绑定、抽象方法和多态性
6.8.1 概念
6.8.2 举例
6.9 基类的重构
6.10 设计类的层次结构
6.10.1 基本原则
6.10.2 设计类层次结构的一个例子
6.11 设计模式
6.11.1 设计模式的定义和结构
6.11.2 设计模式的一个例子
6.11.3 小结
第7章 用Java语言创建用户界面
7.1 引言
7.2 用户界面的结构
7.3 两个简单的应用程序
7.3.1 DrawTool应用程序
7.3.2 EditTool应用程序
7.4 事件处理概念
7.5 处理简单应用程序中的事件
7.5.1 处理DrawTool中的事件
7.5.2 处理EditTool中的事件
7.6 菜单
7.7 复选框
7.8 列表
7.9 对话框
7.9.1 JDialog类
7.9.2 JOptionPane类
7.10 滚动条
7.10.1 利用值选择的滚动条
7.10.2 利用滚动条按比例移动
7.10.3 利用ScrollPane
7.11 文本域
7.12 图像
7.12.1 利用Image类
7.12.2 利用ImageIcon类
7.13 布局管理器
7.13.1 BorderLayout
7.13.2 FlowLayout
7.13.3 GridLayout
7.13.4 CardLayout
7.13.5 GridBagLayout
7.13.6 组合几个布局管理器
第8章 Java中的输入/输出
8.1 引言
8.1.1 输入/输出的复杂性
8.1.2 Java输入/输出模型
8.1.3 文本和二进制流I/O类的模式
8.1.4 Book例子
8.1.5 章的组织
8.2 二进制输入/输出
8.2.1 Java类
8.2.2 一个例子
8.3 文本输入/输出
8.3.1 Java类
8.3.2 一个例子
8.3.3 交互式输入/输出
8.4 随机存取文件输入/输出
8.4.1 概念
8.4.2 RandomAccessFile类
8.4.3 Book例子
8.5 对象输入/输出
8.5.1 Java类
8.5.2 Book文件例子
8.6 输入/输出过滤
8.6.1 概念
8.6.2 Java类
8.6.3 一个例子
第9章 线程
9.1 引言
9.2 独立线程
9.2.1 Thread类
9.2.2 一个例子
9.3 同步线程
9.3.1 同步的概念
9.3.2 线程状态
9.3.3 线程组
9.4 分布式并发
9.4.1 概念
9.4.2 套接字
9.4.3 EcoSim例子
索引