书籍简介:
面向对象程序设计范式具有封装、继承、多态等特点,能显著提高程序的可重用性和可扩展性,是现代开发大型应用软件的主要技术。掌握面向对象软件开发方法,可大幅度提高复杂软件系统的生产率和质量。本书用C#语言和.NET框架技术描述并介绍了面向对象程序设计的核心概念、基本原理、基本技术和方法,内容涉及变量、数据类型、运算符、程序流程控制等基础程序设计,类、对象、封装、继承、多态、接口等面向对象程序设计,数值、文字、集合、泛型、委托、事件、控件、图形、文件、数据库等实用化程序设计,重点培养读者用面向对象程序设计范式解决实际问题的能力。
《面向对象程序设计(C#)》共分9章。第1章介绍面向对象技术的由来、地位及其重要性。第2章从计算机的角度介绍程序设计基础,涉及变量机制和过程式程序设计思想。第3章从人的角度介绍高端程序设计,涉及分类机制和面向对象程序设计思想,重点解析抽象、封装、继承、多态、接口等概念及其实现机制。第4章对比分析过程式、面向对象、面向接口、组件化等程序设计范式的应用,体验利用面向对象思想进行程序设计所带来的好处。从第5章开始,按软件分层体系结构,介绍用户界面层、业务逻辑层、数据访问层的实现技术。其中,第5章涉及业务逻辑层技术,介绍科学计算、文字处理、时间、事件等常见数据结构类的使用。第6章涉及用户界面层技术,介绍各种控件类的使用。第7章涉及数据访问层技术,介绍文件和数据库类的使用。第8章涉及数据的可视化技术,介绍图形、图像、动画等多媒体类的使用。第9章基于企业信息化目标,用一个管理信息系统原型的实现过程介绍面向对象技术的综合运用。
《面向对象程序设计(C#)》思路新颖、图文并茂,适用于计算机类专业(包括但不限于计算机科学与技术、软件工程、网络工程、信息安全、物联网工程等)的面向对象程序设计、桌面应用软件开发等课程教学,也可供从事软件开发的科研人员使用。
作者简介:
廖浩德、杨力、向海昀、杨云、汪立欣、张豫新、符晓、王世元、高磊
出版日期:
2018年08月
章节目录:
第1章 概述 1
1.1 面向对象探源 1
1.1.1 关于计算 1
1.1.2 主机计算 2
1.1.3 网络分布计算 3
1.1.4 组件技术 4
1.1.5 面向对象技术 5
1.2 .NET框架 7
1.2.1 微软技术的发展 7
1.2.2 .NET规范及其实现 8
1.3 C#程序设计语言 10
1.3.1 C#语言的特点 10
1.3.2 Hello, World 10
1.4 Visual Studio集成开发环境 12
1.4.1 启动集成开发环境 12
1.4.2 解决方案与项目类型 13
1.4.3 用控制台应用程序项目
实现HelloWorld 14
1.4.4 用Windows窗体应用程序
项目实现HelloWorld 16
习题1 19
第2章 程序设计基础 20
2.1 程序设计与编程 20
2.1.1 计算机的本质 20
2.1.2 程序的本质 21
2.1.3 程序设计 22
2.1.4 程序设计语言 24
2.2 数据存储 25
2.2.1 变量与常量 26
2.2.2 数据类型 27
2.2.3 数据类型的跨语言特性 28
2.3 数据运算与运算过程 29
2.3.1 数据运算类型 30
2.3.2 算法的基本结构 34
2.3.3 条件语句 35
2.3.4 迭代语句 37
2.3.5 跳转语句 39
2.4 数据与代码的组织 40
2.4.1 同类型数据的组织 40
2.4.2 不同数据类型的聚合 41
2.4.3 程序代码的组织 41
习题2 44
第3章 面向对象基础 45
3.1 对象与类 45
3.1.1 分类思想 45
3.1.2 类和对象释义 46
3.2 C#类与对象 47
3.2.1 模拟“王婆卖瓜” 47
3.2.2 类的定义及其封装性 50
3.2.3 对象的创建和使用 51
3.2.4 方法(Method) 52
3.2.5 参数(Parameter) 52
3.2.6 参数传递模式 53
3.2.7 属性(Property) 55
3.2.8 构造方法与析构方法
(Constructor & Destructor) 56
3.2.9 运算符重载 58
3.2.10 索引器 60
3.3 类的继承与多态 61
3.3.1 类之间的继承关系
(Inheritance) 62
3.3.2 类的多态性(Polymorphism) 62
3.4 抽象类与接口 67
3.4.1 抽象类 67
3.4.2 密封类 68
3.4.3 接口(Interface) 69
习题3 71
第4章 程序设计范式 72
4.1 程序设计范式的概念 72
4.1.1 从面向对象说起 72
4.1.2 范式(Paradigm) 73
4.1.3 语言之争 74
4.2 程序设计范式的应用 77
4.2.1 无范式方案 78
4.2.2 过程范式方案 78
4.2.3 面向对象范式方案 79
4.2.4 面向接口进行程序设计 81
4.3 组件导向式程序设计 83
4.3.1 过程式方案 83
4.3.2 面向对象式方案 83
4.3.3 组件导向式方案 84
4.4 反射机制* 85
4.4.1 反射探源 85
4.4.2 组件探秘 86
4.5 装箱和拆箱* 87
4.5.1 计算机内存布局 87
4.5.2 值类型与引用类型之间的
转换 88
习题4 89
第5章 实用化程序设计 90
5.1 程序设计环境 90
5.1.1 .NET框架环境 90
5.1.2 编译过程 91
5.1.3 FCL类库 93
5.2 .NET框架中的常用类 96
5.2.1 科学计算 96
5.2.2 文字处理 97
5.2.3 时间处理 100
5.2.4 随机数生成 100
5.3 数据结构类 101
5.3.1 泛型 101
5.3.2 集合类及其遍历 102
5.3.3 集合类的应用 104
5.4 事件驱动 106
5.4.1 委托 107
5.4.2 事件模型 108
5.4.3 专用委托和事件类 110
5.5 语言集成查询 111
5.5.1 LINQ简介 111
5.5.2 Lambda表达式 113
5.5.3 LINQ的使用 115
5.6 程序的容错能力 116
5.6.1 异常处理 116
5.6.2 输入数据的容错 117
习题5 118
第6章 可视化程序设计 119
6.1 工具箱的使用 119
6.1.1 成本计算程序的界面改造 119
6.1.2 控件属性的编辑 121
6.1.3 控件事件处理代码框架的
生成 122
6.1.4 自动生成的窗体应用程序
代码框架结构 123
6.1.5 编写程序代码 124
6.2 我的百宝箱 126
6.2.1 软件需求 126
6.2.2 创建项目并调整主窗体
属性 127
6.2.3 菜单和工具栏控件的
使用 128
6.2.4 实现业务窗体界面 130
6.2.5 实现应用程序的退出功能 132
6.3 神秘的飞溅屏 133
6.3.1 准备工作 134
6.3.2 画面淡入 134
6.3.3 把握进度 136
6.4 业务窗口 137
6.4.1 新书到了 137
6.4.2 学会选择 140
习题6 143
第7章 数据存储 144
7.1 文件概念和文件类 144
7.1.1 文件释义 144
7.1.2 文件操作流程 145
7.1.3 .NET框架的文件类 147
7.1.4 文件与目录操作 149
7.1.5 文件的读写操作 151
7.1.6 数据的流动 152
7.2 “我的百宝箱”中的文件处理 153
7.2.1 文件的打开和保存 154
7.2.2 文件的加密与解密 155
7.2.3 自动调整文本显示控件的
大小 159
7.3 数据库和数据库设计 160
7.3.1 数据库概念 160
7.3.2 数据库的设计 162
7.3.3 数据库的创建 163
7.3.4 ADO.NET“家族”一览 166
7.4 “我的百宝箱”中的数据库处理 168
7.4.1 书籍信息的保存 168
7.4.2 动态构造出版社下拉列表 171
7.4.3 图书维护 173
7.4.4 图像数据的存取操作 179
习题7 181
第8章 图形绘制技术 182
8.1 图形处理基础 182
8.1.1 多媒体与用户体验 182
8.1.2 Windows窗体的那点事 182
8.1.3 GDI的坐标系 183
8.2 工欲善其事,必先利其器 184
8.2.1 宣纸——Graphics 184
8.2.2 画笔、颜料和刷子 185
8.2.3 基本画法 186
8.3 图形类的应用 187
8.3.1 绘制水池形状 187
8.3.2 降龙十八掌 189
习题8 191
第9章 综合应用 192
9.1 应用软件开发 192
9.1.1 工程目标 192
9.1.2 他山之石 193
9.1.3 技术之外 195
9.2 需求分析与设计 196
9.2.1 企业信息化与信息系统 196
9.2.2 企业经营与ERP 197
9.2.3 数据建模与功能建模 198
9.2.4 软件体系结构 202
9.3 程序实现 203
9.3.1 构建体系结构和主控界面 203
9.3.2 实现主控模块 205
9.3.3 实现实体层的Employee类 206
9.3.4 实现UIL层的
EmployeeUI类 206
9.3.5 实现BLL层的
EmployeeBL类 211
9.3.6 实现DAL层的数据库类 213
习题9 216
参考文献 217
封面图: