前言
从FORTRAN语言开始,人类发明了众多的高级计算机程序设计语言。到目前为止,C/C++、Java和C#代表了最主流的三种程序设计语言。其中,C#程序设计语言推出时间最晚,但兴起的速度最快,已成为我们值得学习和研究的程序设计语言之一。
1.C#是最近20年软件开发技术积累的成果
20年前,程序设计的主要方法是,调用操作系统提供的各种功能元素,以实现比较特殊的功能。面向对象程序设计方法兴起之后,Visual Basic提供了一套功能库来封装操作系统提供的功能,Visual C++提供了程序库来封装操作系统提供的功能。各种程序设计语言都各自维护了一套专用的功能库。因而程序员使用一种新的语言,就需要重新学习一套新的功能库,苦不堪言,造成大量的人力浪费。.NET Framework系统库便是在这种背景下开发出来的,使各种程序设计语言都可以通过调用这套库来实现自己的功能。同时,在.NET Framework上可以开发传统型应用程序,也可以开发网站类应用,满足了当代程序设计的需要。这使得C#——这个专为 .NET Framework开发的程序设计语言——很快成为了主流的程序设计语言。
2.C#非常适合作为程序设计学习语言
C#是非常精巧的面向对象程序设计语言,学习它,容易理解面向对象开发的基本方法。
C#主要吸收了C++和Java等语言的经验和教训,是目前最成熟的面向对象程序设计语言。一旦掌握了C#语言,利用对比学习法,可以轻松学会C++和Java语言。
C#发明时,考虑了各类程序开发的需要,用它既可以进行传统的Windows程序设计,也可以开发大型数据库相关类程序,结合ASP.NET技术还可以开发Web网站。C#语言的适应面特别广,因此投入精力学好C#语言是非常值得的。
3.推荐的C#程序设计学习路径
根据近几年C#程序设计的教学经验,结合C#程序设计的特点,我们设计了一个基本的C#程序设计学习路径,也是本书的内容安排顺序,全书按这个顺序分为五部分。
第一部分:C#程序设计基础,包括第1章和第2章,让读者了解C#语言的特点,同时让读者学会C#开发环境的安装,并掌握C#程序设计的基本流程。为后面一步一个台阶地学习基本概念和实践打下基础。
第二部分:简单C#程序设计,包括第3~7章,重在掌握C#程序设计的基本语法。任何一种程序设计语言,变量的定义和使用,顺序、选择和循环三种基本结构,程序模块(函数)的定义和使用等都是最基本的语法,C#语言也不例外。打好基础,熟悉语法,正确地建立基本的程序设计概念,以后将处处受益。
第三部分:面向对象C#程序设计。面向对象程序设计是C#语言的精华,第8~13章重点介绍C#语法知识。从建立类和对象的概念开始,到继承,到方法,构建完整面向对象程序设计知识库;同时结合C#的特点,介绍了C#特有的属性、委托和事件,以及接口等语法特性。而这些特性,不但是现代程序设计语言的精华,也是编写Windows程序的基础。
第四部分:基本Windows程序设计。有了前面的基础,我们可以用C#语言建立起一整套程序设计基本库 .NET Framework,可以轻松地通过拖放基本库中的对象来设置属性,进而简化程序设计。第14~18章主要介绍这套Windows程序设计库的使用。不难发现,有了面向对象程序设计的基础,当我们来使用这一套现成的类库时,Windows程序设计就变得非常简单了。
第五部分:专业程序设计基础,包括第19~20章。学会使用Windows基本类库之后,我们编写较大规模的比较专业的应用程序时,需要用到数据库开发技术和应用程序的部署。因此,这一部分通过介绍和专业数据的连接及应用方法为读者打下良好的基础,同时通过一个简单应用安装实例,使读者明白一个应用程序软件安装包的开发过程。
在教学中,可以按照上述过程进行实施。根据学生基础不同,教学时间不同,专业需求不同,可以在这个基础上增加学习材料,或者减少部分学习内容,供学生自学使用,以达到因材施教的教学效果。
4.后续的学习建议
C#语言及其平台是众多优秀软件工程师的智慧结晶。读者可以根据自己的职业发展需要,以及毕业设计或者其他课程的学习需要,还有自己的研究兴趣来选择学习。一般来说,有三个学习方向。
① 专业Windows程序设计。C#正在逐步替代Visual Basic、Visual FoxPro、Delphi和Visual C++,成为Windows上应用程序的首选语言。中大型的Windows程序设计的积累,需要一定的项目经验,读者一边学习更专业的类库知识,一边实践积累项目开发经验。
② 专业Web程序设计。如前面所说,C#是建立在一个统一的开发平台上的,除了Windows程序,通过学习ASP.NET技术,还能开发专业Web网站,而且不必从头学起,因为我们已经具备了基本的C#语法。
③ 研究 .NET Framework库。如果希望成为高级开发人员,研究一套运行完美的库,体会大型程序架构设计精髓,是一条捷径。这会让读者积累大型程序建构的经验,以后即使模仿编写,也会使程序的稳定性大增。在研究的同时,如果结合面向对象程序设计方法,学些软件工程课程会更好。
5.本书编写团队
本书由匡松、张淮鑫主编,杜小丹、王超、何嘉、刘永红担任副主编,廖柯熹、夏雪梅、罗琴、鄢涛、古沐松、魏春、周蓓、徐静等参加编写。虽然本书体现了我们近几年C#程序设计教学经验的积累,但因为知识面和开发经验有限,书中难免存在不足之处,请使用本书的老师和读者不吝指正。我们的E-mail是beone2000@126.com。
本书为任课教师提供配套的教学资源(包含电子课件及习题解答),需要者可登录到华信教育资源网(http://www.huaxin.edu.cn或http://www.hxedu.com.cn),注册之后免费下载,或发邮件到unicode@phei.com.cn咨询。
作者