C# 3.0面向对象编程9787302209539清华大学pdf下载pdf下载

C# 3.0面向对象编程9787302209539清华大学百度网盘pdf下载

作者:
简介:本篇主要提供C# 3.0面向对象编程9787302209539清华大学pdf下载
出版社:
出版时间:2009-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

  • 商品名:C# 3.0面向对象编程9787302209539清华大学
  • ISBN:9787302209539
  • 定价:58
  • 出版社:清华大学出版社
  • 作者:普德姆(Jack Purdum),叶雄兵,黄谦

参考信息(以实物为准)

  • 出版时间:2009-09-01
  • 印刷时间:
  • 版次:1
  • 印次:0
  • 包装:平装
  • 开本:16开
  • 用纸:
  • 页数:445
  • 字数:0

内容简介

  《C# 3.0面向对象编程》带您领略这种健壮的面向对象编程语言(OOP),帮助您快速入门。《C# 3.0面向对象编程》由经验丰富的教师编写,将教学与内行编码完美地结合在一起。《C# 3.0面向对象编程》也给出了在为应用程序编写代码时经常会遇到的各种问题,帮助您避免这些问题。无论您是要开发桌面、分布式、Web 还是移动应用程序,C# 几乎能处理任何这些编程任务。
  《C# 3.0面向对象编程》开头以非编程语言的方式介绍了OOP ,并探索了在C# 中如何看待对象。然后逐渐引入新的编程概念以及C# 提供的工具集。通过每一章中包括的常见的、容易理解的习题,您将深入挖掘并开始应用这些概念。学习完《C# 3.0面向对象编程》后,您将可以编写自己设计的复杂OOP 程序。
  《C# 3.0面向对象编程》特色
  C# 语法与OOP 的概念
  设计与编写遵循安全编程惯例的C# 程序的方式
  利用语句重复与程序循环的提示
  构建和实现自己的类的技术
  经过试验的正确的编程技巧,包括从设计基础到调试辅助的一切内容
  使用磁盘数据文件和数据库存储数据的方式

前言序言

  在过去25年中,我编写了15本书籍,这些书籍涉及各种编程主题。为什么要编写如此多的编程书籍?是否是一开始写得不好?事实并非如此。在25年前编写□□本书籍时,面向对象编程(OOP)这一概念还很不明朗,大多数人都不了解它。与其他人一样,我花费不少精力研究OOP后才了解到OOP的真谛。并且,我知道很多人仍然对OOP缺乏了解。
  每次上编程课时,我都会尽量采用更新更好的方式来讲解课程内容。如果环视整个教室并发现同学们都静静地坐着,那么我就会自我反省,并且尝试用其他方法介绍正在讲述的概念。我教授的每一堂课都会对教与学提出新的观点。我常常会更换教学示例和讲解编程概念的技巧,我在多年后又回来教书的原因之一就是我怀念那段不断摸索学习的经历。
  虽然我编写的一些书籍是关于其他语言而非C#语言,但是这些书籍同样丰富了我作为教师的经验。只有在掌握一些不尽完美的语言之后,才能体会到某种语言的优点和弱点。编程语言不断地发展这一事实说明了如下观点:我肯定不是□□仍然在学习的人。目前绝对可以确信的一件事情是:今天学到的任何知识在将来都有可能过时。
  也许您应该询问自己的真正问题是,我为什么要购买这本书籍,而不是购买其他人编写的书籍?购买我所编写书籍的原因肯定有很多,但是真正使我编写的书籍在众多同类书籍中脱颖而出的原因只有一个。我绝不怀疑一些程序员可以编写更好的代码。当拥有自己的软件公司时,我□优秀的程序员Tim编写的代码就比我好,他是一名非常出色的程序员。但是,如果要让Tim说明这些代码,他就会手足无措。
  本书不同于其他书籍:我尝试使用各种技术。示例和方法来向数千名学生介绍各种编程概念。我知道什么方法有效,什么方法无效。我遇到过很多令人头痛的问题,并且将它们改造成能够帮助学生在课堂上领悟所学知识的示例。毫无疑问,虽然如今有诸多作者。出色的编码人员,但是他们没有遭遇过令人头疼的示例,所以教导的方法完全不起作用。适合您的方法未必适合其他人。会编写优秀的示例不等于会编写优秀的书籍。

目录

第Ⅰ部分 C#入门
□□章 安装C#3
1.1 面向对象编程(OOP)简史4
1.2 安装C#4
1.2.1 下载C#Express5
1.2.2 安装C#Express5
1.3 使用C#Express编写测试程序7
1.3.1 创建项目7
1.3.2 C#集成开发环境8
1.3.3 向Windows窗体中添加对象10
1.3.4 运行程序13
1.4 小结13

第2章 对象15
2.1 对象15
2.1.1 对象在日常生活中的使用16
2.1.2 使用的属性和方法的数量18
2.1.3 定义类之后的工作18
2.2 开发程序计划25
2.3 使用对象创建简单的应用程序27
2.4 使用C#实现程序计划29
2.4.1 向项目中添加程序引用30
2.4.2 向项目中添加新条目31
2.4.3 设置项目属性33
2.4.4 向frmMain对象中添加对象34
2.4.5 为处理步骤添加程序代码36
2.4.6 构造用户界面对象37
2.4.7 btnDisplayOutput单击事件代码38
2.4.8 分析btnDisplayOutput单击事件代码39
2.5 小结40

第Ⅱ部分 C#语法
第3章 数据类型43
3.1 整型数据类型43
3.1.1 整型数据类型的取值范围44
3.1.2 使用各种整数的场合45
3.1.3 创建新项目的步骤序列47
3.1.4 设计用户界面47
3.1.5 处理步骤的代码47
3.1.6 变量命名规则和约定49
3.1.7 使用TryParse()方法49
3.1.8 浮点数据类型52
3.1.9 浮点的精度53
3.1.1 0使用各种浮点数据类型的场合54
3.2 货币值:decimal数据类型55
3.3 Boolean数据类型57
3.4 小结58
3.5 习题59

第4章 理解C#语句61
4.1 编程语言的基本构件块61
4.1.1 操作数和运算符62
4.1.2 表达式62
4.1.3 语句63
4.1.4 运算符优先级64
4.1.5 重写默认优先级次序65
4.2 定义变量65
4.3 在程序中使用变量68
4.4 BucketAnalogy69
4.5 程序错误的类型71
4.5.1 语法错误71
4.5.2 语义错误71
4.5.3 逻辑错误71
4.6 VisualStudio调试器72
4.6.1 调试过程72
4.6.2 简化重复的调试工作73
4.6.3 使用调试器73
4.7 防御编码76
4.7.1 使用程序注释77
4.7.2 使用有意义的变量名78
4.7.3 避免使用幻数78
4.8 小结80
4.9 习题80

第5章 引用数据类型81
5.1 字符串变量81
5.1.1 定义字符串引用变量82
5.1.2 引用类型不同于值类型的原因84
5.1.3 引用变量规则85
5.1.4 引用类型变量与值类型变量86
5.1.5 引用变量采用这种操作方式的原因86
5.1.6 按值传递与按引用传递87
5.1.7 提高效率87
5.1.8 使用字符串变量88
5.1.9 字符串操作89
5.2 字符串与转义序列100
5.3 DateTime引用对象101
5.4 小结111
5.5 习题111

第6章 在代码中制定决策113
6.1 关系运算符113
6.1.1 使用关系运算符——if语句114
6.1.2 if-else语句118
6.1.3 简单if-else的简化版本:三元运算符119
6.1.4 if和if-else语句的风格考虑事项119
6.1.5 嵌套的if语句121
6.1.6 RDC122
6.1.7 层叠if语句123
6.2 逻辑运算符124
6.3 switch语句126
6.4 小结128
6.5 习题129

第7章 使用循环重复语句131
7.1 程序循环131
7.1.1 良性循环和恶性循环132
7.1.2 for循环132
7.1.3 for循环的嵌套139
7.1.4 while循环141
7.1.5 采用多种类型循环的原因143
7.2 do-while程序循环143
7.3 continue语句147
7.4 小结148
7.5 习题148

第8章 数组151
8.1 数组的定义151
8.1.1 部分数组细节153
8.1.2 Listview对象158
8.2 数组是对象161
8.3 多维度组163
8.4 初始化数组..1 66
8.4.1 初始化数组的变体167
8.4.2 初始化多维度组168
8.4.3 对象的初始化列表168
8.5 集合170
8.6 ArrayList对象172
8.7 小结176
8.8 习题176

第Ⅲ部分 编写自己的类
第9章 设计类179
9.1 类设计180
9.1.1 向项目中添加类180
9.1.2 作用域181
9.1.3 形象化作用域184
9.1.4 C#支持作用域的原因185
9.2 设计程序186
9.2.1 五步程序步骤(FiveProgramSteps)187
9.2.2 不要只见树木不见森林189
9.3 UMLLight189
9.3.1 访问说明符190
9.3.2 UML方法192
9.3.3 像用户一样思考194
9.4 clsDates设计195
9.4.1 名称空间修饰符197
9.4.2 类的组织197
9.5 用户界面的不同含义201
9.6 小结201
9.7 习题201

□□0章 设计与编写自定义类203
10.1 构造函数203
10.1.1 默认构造函数203
10.1.2 非默认构造函数204
10.1.3 构造函数重载204
10.2 属性方法207
10.3 属性方法中发生错误后的对策211
10.4 扑克牌程序的类设计214
10.5 设计使用clsCardDeck的纸牌游戏224
10.6 小结237
10.7 习题238

□□1章 异常处理与调试239
11.1 概述239
11.2 程序错误241
11.2.1 数据有效性验证241
11.2.2 限制用户输入242
11.3 异常处理247
11.4 程序调试253
11.4.1 自然法则253
11.4.2 VisualStudio调试器255
11.4.3 单步调试程序258
11.4.4 脚手架代码259
11.4.5 防御性编码260
11.5 小结261
11.6 习题261

□□2章 泛型263
12.1 泛型的概念263
12.1.1 递归268
12.1.2 数据问题269
12.2 泛型的定义269
12.2.1 泛型与ArrayList270
12.2.2 使用泛型类277
12.3 泛型Quicksort278
12.3.1 使用带约束和接口的泛型282
12.3.2 接口282
12.3.3 使用接口的原因283
12.3.4 使用接口284
12.4 小结288
12.5 习题288

第Ⅳ部分 存储数据
□□3章 使用磁盘数据文件291
13.1 目录291
13.1.1 DriveInfo类292
13.1.2 Directory类292
13.1.3 DirectoryInfo类293
13.2 File名称空间298
13.3 FileInfo类299
13.4 文件的类型300
13.4.1 文本与二进制数据文件300
13.4.2 读取数据309
13.5 连续文件与随机访问文件310
13.5.1 连续文件310
13.5.2 随机访问文件311
13.5.3 frmMain315
13.5.4 导航记录322
13.5.5 删除记录323
13.5.6 clsRandomAccess324
13.6 串行化与反串行化341
13.7 MDI.菜单和文件对话框348
13.7.1 添加菜单348
13.7.2 添加FileOpen对话框349
13.7.3 调用另一个窗体351
13.8 小结352
13.9 习题353

□□4章 使用数据库355
14.1 数据库的概念355
14.1.1 数据库的结构356
14.1.2 设计数据库表的字段357
14.2 使用自己的数据库359
14.3 使用SQL361
14.3.1 SELECT语句361
14.3.2 WHERE谓词362
14.3.3 ORDERBY子句362
14.3.4 聚合363
14.3.5 创建新数据库364
14.3.6 创建新表(CREATETABLE)366
14.3.7 向表中添加记录(INSERTINTO)371
14.3.8 编辑记录(UPDATE)374
14.3.9 删除记录(DELETE)378
14.4 数据库查询379
14.4.1 将DataGridView对象绑定到数据库381
14.4.2 使用不带数据绑定的DataGridView对象383
14.5 使用LINQ388
14.5.1 LINQ查询关键字388
14.5.2 LINQ的名称空间与引用391
14.6 小结397
14.7 习题397

□□5章 继承与多态399
15.1 继承的概念399
15.1.1 继承示例400
15.1.2 基类不是派生类414
15.1.3 抽象类414
15.2 多态415
15.3 小结417
15.4 习题418
附录习题答案419

内页插图

精彩书摘

  第Ⅰ部分C#入门
  □□章安装C#
  1.1 面向对象编程(ooP)简史
  许多人认为OOP产生于20世纪80年代,其产生过程是Bjame Stroustrup通过创建C++语言将c语言带入面向对象领域。实际上,□早的两种面向对象编程语言是SIMULA l(1962年)和Simula 67(1967年)。Simula语言由Ole.John Dahl和Kristen Nyaard在挪威首都奥斯陆的“挪威计算中心”创建。虽然较早的Simula语言已经具有了OOP的大部分优点,但直到C++在20世纪90年代的普及,00P才得到了蓬勃发展。
  C语言是c++的父语言。人们经常说C语言的功能强大到可以独立完成开发工作,而C++语言则在此基础上更进一步,具备更为强大的功能。大多数开发人员承认C++语言是一种功能非常强大的语言,如今该语言仍然被广泛使用。然而,它的这种强大功能也带来了大量复杂性。语言开发人员希望使用一种更为简单而且简化的语言进行OOP开发。
  OOP发展的下一步始于1991年1月,当时James Goslin9、Bill Joy、Patrick Naughton、Mike Sheradin与科罗拉多州阿斯彭市遇到的其他几位开发人员正在讨论Stealth Project的思想。这个小组希望开发一种能够集中进行控制并通过手持设备进行编程的智能电子设备。他们认为00P是开发语言的正确发展方向,C++没有能力承担这一工作。他们的研究成果就是0ak编程语言,该语言□终演变成Java语言(必须将Oak改成其他名称,因为这个小组发现已经有一种语言采用了该名称)。
  由于Internet发展的驱动,Java迅速变成一种普及语言。Web和Java的迅速发展的原因是:在Web上运行Java程序所需的“组件”很快成为各种Web浏览器的必备组件。由于Java对Web功能的改进,Web得到了飞速发展。

作者简介

  普德姆(Jack Purdum),在20世纪60年代,当Jack Purdum博士还是一名硕士研究生时,他就使用IBM 360大型机开始了他的编程生涯。在20世纪70年代中期,他开始对微型计算机的软件开发感兴趣,并于1977年创办了自,己的软件开发公司(Ecosof,Inc.),该公司的主要产品是一种统计信息程序包(Microstat)。Purdum希望用一种称为C语言的新语言重新编写这种程序包,由于缺乏合适的C编译器,他的公司又开发了基于MS-DOS的C编译器以及其他编程工具。从那以后,他开始涉及语言教学。Purdum已经编著了15本编程书籍,发表了大量编程论文,并且获得了数项教学奖。目前,Purdum博士即将从美国普渡大学技术学院退休。