新書推薦:
《
为你想要的生活
》
售價:HK$
66.1
《
关键改变:如何实现自我蜕变
》
售價:HK$
77.3
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
58.2
《
明式家具三十年经眼录
》
售價:HK$
524.2
《
敦煌写本文献学(增订本)
》
售價:HK$
221.8
《
耕读史
》
售價:HK$
109.8
|
編輯推薦: |
本书中的例题采用完全的面向对象程序代码,使读者逐步习惯阅读面向对象的代码,形成条件反射,养成用面向对象的思维去分析和解决问题。
本书配有授课用课件、重点难点的授课视频等资源,并提供所有例题、课堂练习和习题的源代码,可以在阅读时扫描二维码查看或下载。
|
內容簡介: |
本书全面细致地讲授面向对象的概念、方法和应用,突出面向对象程序设计的思想,并以C#为载体来实现面向对象的设计。本书按面向对象的设计方法来归类章节,分为15章,包括类和对象,封装,继承,多态,程序的调试和异常处理,接口和多态的实现,静态类和密封类,值类型和引用类型,索引器,泛型,集合,Windows窗体应用程序,文件操作,委托和事件,多线程编程。本书概念清晰,定义准确,例题实用,习题丰富,是一本真正简明易学的面向对象程序设计的教材。
本书可作为高等院校计算机专业及相关专业的C#面向对象程序设计课程的教材,同时也可作为各类面向对象的C#程序设计培训班的教学用书。
本书配有授课用课件、重点难点的授课视频等资源,并提供所有例题、课堂练习和习题的源代码,可以在阅读时扫描二维码查看或下载,也可登录www.cmpedu.com免费注册,审核通过后下载或联系编辑索取(QQ:2966938356,电话:010-88379739)。
|
目錄:
|
目录
前言
第1章类和对象1
1.1面向对象的概念1
1.1.1对象抽象成类1
1.1.2由类创建对象3
1.1.3对象之间的通信4
1.1.4面向对象开发的特点4
1.2定义类、创建对象4
1.2.1定义类4
1.2.2类的成员4
1.2.3成员变量8
1.3创建对象9
1.3.1对象的声明与实例化9
1.3.2对象成员的访问10
1.3.3类和对象应用示例10
1.4命名空间12
1.4.1命名空间概述12
1.4.2命名空间的声明12
1.4.3导入其他命名空间14
1.4.4命名空间的嵌套14
1.5习题15
第2章封装16
2.1封装的概念16
2.2类的属性18
2.2.1属性的声明18
2.2.2属性的访问21
2.3方法重载21
2.4构造函数24
2.4.1构造函数的概念24
2.4.2构造函数的定义25
2.4.3构造函数的分类26
2.4.4调用构造函数26
2.4.5构造函数的重载28
2.5习题30
第3章继承32
3.1继承的概念32
3.2派生类及其特性33
3.2.1声明派生类33
3.2.2继承的特性36
3.3继承与访问修饰符38
3.4继承与构造函数39
3.5里氏替换原则44
3.5.1里氏替换原则概述44
3.5.2派生类对象能够替换基类对象44
3.5.3类的引用45
3.5.4隐藏基类中的成员47
3.6习题47
第4章多态49
4.1多态的概念49
4.2使用重写和虚方法实现多态50
4.2.1重写的概念50
4.2.2在派生类中使用new关键字实现覆盖性重写50
4.2.3使用虚方法实现多态性重写52
4.3使用抽象类和抽象方法实现多态56
4.3.1抽象类的概念56
4.3.2抽象类和抽象方法的定义57
4.3.3重载抽象方法58
4.3.4理解多态58
4.4对象类型的转换与判断61
4.4.1向上转换类型(隐式转换类型)61
4.4.2向下转换类型(强制转换类型)63
4.4.3使用as和is运算符66
4.5习题68
第5章程序的调试和异常处理70
5.1程序的调试70
5.1.1调试工具70
5.1.2设置断点71
5.1.3调试的过程72
5.2错误与异常概述75
5.2.1错误与异常的区别76
5.2.2异常处理77
5.3C#中的异常处理79
5.3.1使用try…catch处理异常79
5.3.2使用try…catch…finally处理异常82
5.3.3异常处理的指导原则和特点87
5.3.4使用throw抛出异常87
5.4习题88
第6章接口和多态的实现92
6.1接口概述92
6.1.1接口的概念92
6.1.2接口的声明92
6.1.3接口的实现95
6.1.4接口成员的实现96
6.1.5接口映射98
6.1.6重新实现接口99
6.1.7接口的本质100
6.2多态的实现101
6.2.1抽象类与普通类的对比101
6.2.2抽象类与接口的对比101
6.2.3抽象类和接口的使用场合102
6.2.4使用抽象类和接口实现多态103
6.3习题106
第7章静态类和密封类108
7.1静态成员108
7.1.1静态成员概述108
7.1.2静态字段108
7.1.3静态方法111
7.1.4静态成员总结112
7.1.5静态方法与实例方法的区别112
7.2String类的常用方法113
7.2.1String类的常用静态方法113
7.2.2String类的常用实例方法116
7.3静态类118
7.3.1静态类的定义118
7.3.2访问静态类的成员119
7.3.3静态构造函数120
7.4密封类和密封方法122
7.4.1密封类的定义122
7.4.2密封方法123
7.5习题124
第8章值类型和引用类型126
8.1值类型和引用类型简介126
8.1.1栈空间和堆空间126
8.1.2值类型和引用类型的定义127
8.2方法的参数类型131
8.2.1C#中方法的参数132
8.2.2值参数132
8.2.3引用参数133
8.2.4输出参数134
8.2.5数目可变参数135
8.2.6可选参数136
8.2.7命名参数137
8.2.8方法解析138
8.3值类型和引用类型的应用138
8.3.1值类型参数按值方式传递138
8.3.2值类型参数按引用方式传递139
8.3.3引用类型参数按值方式传递139
8.3.4引用类型参数按引用方式传递140
8.4相等判断141
8.4.1静态ReferenceEquals方法141
8.4.2= =运算符142
8.4.3实例Equals方法142
8.4.4静态Equals方法144
8.4.5三种比较方法的异同144
8.5字符串的存储原理145
8.6常量、枚举和结构148
8.6.1常量148
8.6.2枚举类型151
8.6.3结构类型153
8.7装箱和拆箱155
8.8习题156
第9章索引器159
9.1索引器的概念159
9.2定义索引器159
9.3索引器的使用161
9.4使用其他非整数的索引类型162
9.5索引器与属性的比较164
9.6接口中的索引器165
9.7习题168
第10章泛型170
10.1泛型的概念170
10.2泛型类171
10.2.1定义泛型类171
10.2.2泛型类对象的创建172
10.2.3泛型类的应用173
10.3泛型类中数据类型的约束173
10.3.1泛型类约束的概念173
10.3.2使用where约束类型174
10.3.3where约束的应用179
10.4泛型类的静态成员181
10.5泛型类的继承182
10.6泛型方法185
10.6.1泛型方法的声明185
10.6.2调用泛型方法192
10.6.3泛型方法的应用193
10.7泛型参数的转换195
10.8泛型接口196
10.9习题197
第11章集合199
11.1集合的概念199
11.2Ar
|
內容試閱:
|
在计算机及相关专业课程中,面向对象程序设计课程是学生必修的核心课程。面向对象的程序设计思想从提出到现在,一直是程序开发的主流思想,是所有计算机软件开发人员必须掌握的关键技术。在计算机相关专业的课程设置中,多数高校以C语言作为学生学习的第一门高级语言,由于先入为主等原因,在学生后续的C++、C#、Java等面向对象程序设计的课程学习中,学生建立系统的面向对象的思想比较困难。
在C#面向对象程序设计课程的设计过程中,我们广泛收集教学资料,拜访多所大学,请教了多位著名老师;主要成员参加了企业的多项培训(例如北大青鸟、微软等),在教学中也采用了多种教学方案,试图帮助学生掌握面向对象的编程。本书初稿完成后,经过3年多的教学实践,跟踪学生学习效果,反复调整课程内容,经过多次课程内容的迭代,形成了自己独特的课程教学方案,编写了《面向对象程序设计教程(C#版)》一书。诺贝尔物理学奖得主,理查德·费曼说:“伟大的进展都源于承认无知,源于思想的自由。”我们在课程内容的取舍、教学内容的先后顺序,典型例题、习题的选取上,经过了痛苦的选择,如果没有思想的自由解放,是无法实现目前的课程方案,达到满意教学效果的。
我们知道,学生对每门课程最初几次上课的印象最深,因此应该把课程的重要内容安排在学期的最初几次课上来讲。基于这个现象,本书第1章类和对象,第2章封装,第3章继承,第4章多态,使读者尽早掌握用类的三大特性,完成面向对象第一阶段的学习。在第一阶段,读者建立起来类和对象的概念,掌握类的三大特性,理解面向对象的基本思想,这样之后的学习难度就降低了很多。第二阶段学习第5章程序的调试和异常处理,第6章接口和多态的实现,第7章静态类和密封类,第8章值类型和引用类型,第9章索引器,第10章泛型,第11章集合。第三阶段学习第12章Windows窗体应用程序,第13章文件操作,第14章委托和事件,第15章多线程编程。值得一提的是,本书中的例题采用完全的面向对象程序代码,使读者逐步习惯阅读面向对象的代码,形成条件反射,养成用面向对象的思维去分析和解决问题。
本课程的前导课程是C语言或其他高级语言。对于没有学习过任何高级语言的读者,学习本书也不会有障碍,因为本书把许多基础知识分散到各个章节中,而且在程序中通过应用来体现,这样更有利于理解。通过本书的学习,读者不但能学会面向对象程序设计的基本知识、设计思想和方法,还能很容易地过渡到其他面向对象程序设计语言的学习与使用上,只需了解该语言的语法,就可以非常轻松地掌握。
C#是一种简洁、类型安全的面向对象的语言,可用它来构建在.NET Framework上运行的各种安全、可靠的应用程序,常用于开发Windows客户端应用程序、ASP.NET网站、XML Web Services、分布式组件、客户端服务器应用程序、数据库应用程序等。C#的生成过程比C和C++简单,比Java更灵活,C#非常适合作为第一门面向对象的语言来学习。
本书概念清晰,定义准确,例题实用,习题丰富,是一本真正简明易学的面向对象程序设计的教材。在面向对象的思想中,万事万物皆对象,当掌握了面向对象的思想后,可以用面向对象的思维去看待面向对象的世界,将面向对象的方法应用在生活、工作中,对分析问题、解决问题都有帮助,受益终生。
本书的主要作者在高校讲授面向对象程序设计课程十多年,参与了高校多次的教学改革,制订过计算机相关专业的教学计划和课程标准,并参加过多项实际应用项目的开发,有着丰富的教学和实践经验。
本书配套资源丰富,方便读者学习。对于授课视频、例题视频和部分源代码,在阅读时可以通过扫描二维码直接查看;对于教学课件和习题解答,在阅读时可以通过扫描二维码获得下载链接进行下载。
本书编写分工如下:刘瑞新编写第1、2、12章,张治斌编写第3、8章,朱立编写第4、5、6章,王莉编写第7、10章,张迎春编写第11、13章,崔淼编写第15章,第9、14章以及资料的收集整理、课件的制作由彭守旺、翟丽娟、刘克纯、刘春芝、李建彬、刘大学、缪丽丽、刘大莲、庄建新、彭春芳、孙洪玲、崔瑛瑛、韩建敏、庄恒、徐维维、徐云林、马春锋、骆秋容、王如雪、曹媚珠、陈文焕、刘有荣、李刚、孙明建、李索、彭泽源完成。本书由刘瑞新教授策划、统稿。编写过程中得到了许多教师的大力支持,他们提出许多宝贵意见使本书更加适合教学,在此一并感谢。
在编写本书的过程中,编者翻阅了大量的资料,限于篇幅不再一一列出,在此表示衷心感谢。
由于计算机技术发展迅速,书中难免有不足和疏漏之处,恳请广大读者批评指正。
|
|