Beginning C# 2008 Objects中文版--概念到代码(第2版)
基本信息
- 作者: (美)Grant Palmer Jacquie Barker
- 译者: 薛莹 任鸿 程文俊
- 出版社:清华大学出版社
- ISBN:9787302223474
- 上架时间:2010-5-15
- 出版日期:2010 年6月
- 开本:16开
- 页码:569
- 版次:2-1
- 所属分类:
计算机 > 软件与程序设计 > 汇编语言/编译原理
内容简介回到顶部↑
将介绍对象的概念以及如何构造C#应用程序,程序员只有了解这两个主题后才可以编写专业级的面向对象的C#应用程序,才可以最有效地利用C#面向对象的特性。本书将引导读者逐步完成案例研究,并且详细说明项目需求如何逐步演变为UML对象模型以及对象模型如何逐步演变为功能完整的C#应用程序。
作译者回到顶部↑
目录回到顶部↑
第ⅰ部分 对象abc
第1章 初步体验c# 3
1.1 c#入门指南 4
1.2 使用c#的原因 4
1.2.1 实践出真知 4
1.2.2 c#是集成应用开发架构的一部分 4
1.2.3 c#是彻底的面向对象语言 5
1.2.4 c#是免费的语言 5
1.3 c#语言基础 6
1.4 详细分析一个简单的c#程序 6
1.4.1 “using system;”语句 7
1.4.2 注释 7
1.4.3 类声明/“包装器” 8
1.4.4 main方法 8
1.5 预定义类型 9
1.6 变量 10
1.6.1 变量的命名约定 11
1.6.2 变量初始化和赋值 11
1.7 字符串 12
1.8 区分大小写 13
第1章 初步体验c# 3
1.1 c#入门指南 4
1.2 使用c#的原因 4
1.2.1 实践出真知 4
1.2.2 c#是集成应用开发架构的一部分 4
1.2.3 c#是彻底的面向对象语言 5
1.2.4 c#是免费的语言 5
1.3 c#语言基础 6
1.4 详细分析一个简单的c#程序 6
1.4.1 “using system;”语句 7
1.4.2 注释 7
1.4.3 类声明/“包装器” 8
1.4.4 main方法 8
1.5 预定义类型 9
1.6 变量 10
1.6.1 变量的命名约定 11
1.6.2 变量初始化和赋值 11
1.7 字符串 12
1.8 区分大小写 13
前言回到顶部↑
首先,Beginning C# 2008 Objects: From Concepts to Code是一本关于软件对象的书籍,全面介绍了对象的概念,对象如此神奇而直观的原因以及程序员如何构造软件应用程序以正确地使用对象。
本书是一本关于C#的书籍,但不是一本“C#大全”,而是对该语言的和缓而全面的介绍。本书特别强调如何将对象模型转换为具备完整功能的C#应用程序,其他书籍很少提供这方面的介绍。
本书目标
编写本书的目标(希望也是您购买本书的目的)如下:
●帮助读者熟悉基本的面向对象(object-oriented,OO)术语和概念。
●提供对象建模的亲手实践的体验;也就是说,开发可用于随后构建OO软件系统的基础的“蓝图”。
●展示如何将这些对象模型转换为可用的软件应用程序的基础——特别是对于C#应用程序,虽然本书介绍的对象建模技术可以同等地应用于任何面向对象编程语言(object-oriented Programming language,OOPL)。
如果您已经使用过C#语言(但是不熟悉有关对象的基础知识),本书将提供关于该语言的OO根源的关键知识。另一方面,如果您是C#初学者,本书将帮助您正确地起步。从这两方面来看,对于希望精通OOPL(如C#)的任何人,本书都将是必须阅读的书籍。
同样重要的是,本书并不打算实现如下目标:
●帮助读者快速精通对象建模:类似于所有高级技能,完全掌握对象建模技术有两个前提条件:良好的理论基础和大量实践。本书提供了基础知识,以及帮助您应用和实践所学新知识的项目和练习的建议。但是,真正掌握对象建模的唯一方法是不断参与OO建模和开发项目。本书中提供的各种技能(希望能够给您带来信心),帮助您在专业机构中开始应用对象技术,这样您才能真正学习对象技术。特别是,如果有一位OO经验丰富的导师在您的第一次符合“行业标准”的项目中不断指导您,您将受益匪浅。
●帮助读者成为特定OO方法论方面的专家:OO软件开发领域有数十种不同的正式方法;新的方法不断出现,而且并无优劣之分。例如,UML(Unified Modeling Language,统一建模语言)符号体系是一种最新的方法,而OMT(Object Modeling Technique,对象建模技术)符号体系是一种最古老的方法,然而两者极为相似,因为UML从根本上极大地扩展了OMT。确保理解对象建模的一般过程以及UML的细节之后,您就具备了足够的知识,可以自己检阅、评估和选择特定的方法论(或者创建自己的方法论——甚至将来某一天编写关于自己创建的方法论的书籍)。
●介绍读者所需的全部C#知识:C#是内容相当丰富的语言,由数十个核心类、可以通过.NET类库使用的数百个其他类以及由这些类执行的数以千计的操作组成。如果C#提供了执行特定操作的多种备选方法,本书将只介绍一到两种最适合于解决当前问题的方法,帮助读者理解解决该问题的方式。尽管如此,本书仍然提供了构建完整的应用程序所需的足够C#语言知识。
掌握从本书中获得的知识之后,您就能够理解关于C#的更为彻底的阐述,例如,当前市面上的其他C#参考书籍提供的知识或者深入介绍UML的参考书籍中的知识。
成功的OO程序员必须理解对象的原因
我们经常与一些软件开发人员会面——在工作场所、在客户的办公室、在专业会议上以及在大学校园内——这些开发人员都尝试掌握C#这样的OOPL,他们参加C#培训,阅读C#相关书籍,或者安装并使用C#集成开发环境(integrated development environment,IDE),如Visual Studio .NET。然而,这是舍本逐末的方法:他们缺乏对象概念的基础知识,更严重的是,他们不知道如何从头开始构造软件应用程序以充分利用对象。
假设您知道如何构造住宅的基础知识,并且被要求构建房屋。实际上,您还是一位广受欢迎的世界知名建筑家!客户告诉您,建筑材料已经运送给您。在开始构造房屋的当天,一辆卡车开到了施工现场,卸下一大堆蓝色、星型的奇怪建材,每块建材的中间有一个空洞。因此,您只有完全停工!您曾经使用木材、砖材和石材等建筑材料建构过无数房屋,并且知道如何使用熟悉的材料施工;但是,您并不知道如何使用蓝星材料堆叠房屋。
经过一番冥思苦想,您拿出一把锤子和一些钉子,尝试按照以前处理木材的方式将这些蓝星材料钉在一起,但是材料无法完全合缝。然后,您又尝试使用砌砖材的灰泥填充蓝星材料之间的缝隙,但是灰泥似乎无法将这些蓝星材料粘在一起。由于预算紧张并且工期有限制(并且由于您自称是建筑专家,但是却不知道如何使用现代化的建材),因此您只好勉强施工。最终,您拼凑出一个至少在外表上看起来类似于房屋的建筑。
您的客户前来检查工作,他完全感到失望。客户选择蓝星材料作为建材的一个原因是它们相当节省能源,但是因为您使用钉子和灰泥装配蓝星建材,它们失去了大部分隔离房屋的固有能力。为了补偿热量的损失,客户要求您将房屋中的窗户全部换为绝热玻璃窗,这使您手足无措!更换窗户花费的时间远多于新建房屋的时间,更不要说替换在更换窗户时损坏的蓝星材料所需的成本。当您告诉客户目前的情况时,他立刻暴跳如雷!客户选择蓝星材料作为建材的另一个原因是,这种建材具有很强的适应性,易于迎合设计的更改,但是由于您采用无效的方式装配蓝星材料,因此必须逐个拆开它们,并更换其中的大部分。
遗憾的是,这也是许多程序员构建OO应用程序的方式,因为他们并没有很好地理解如何从对象的角度完成项目。更糟糕的是,绝大多数即将成为OO程序员的人员对于理解对象并将其用于OO语言编程的必要性一无所知。因此,他们使用C#这样的语言编程拼凑出远非理想的结果:在必须执行“中期修正”(例如,在部署应用程序之后需要引入新功能)时缺乏灵活性的程序。
本书读者对象
本书是一本关于C#的书籍,但不是一本“C#大全”,而是对该语言的和缓而全面的介绍。本书特别强调如何将对象模型转换为具备完整功能的C#应用程序,其他书籍很少提供这方面的介绍。
本书目标
编写本书的目标(希望也是您购买本书的目的)如下:
●帮助读者熟悉基本的面向对象(object-oriented,OO)术语和概念。
●提供对象建模的亲手实践的体验;也就是说,开发可用于随后构建OO软件系统的基础的“蓝图”。
●展示如何将这些对象模型转换为可用的软件应用程序的基础——特别是对于C#应用程序,虽然本书介绍的对象建模技术可以同等地应用于任何面向对象编程语言(object-oriented Programming language,OOPL)。
如果您已经使用过C#语言(但是不熟悉有关对象的基础知识),本书将提供关于该语言的OO根源的关键知识。另一方面,如果您是C#初学者,本书将帮助您正确地起步。从这两方面来看,对于希望精通OOPL(如C#)的任何人,本书都将是必须阅读的书籍。
同样重要的是,本书并不打算实现如下目标:
●帮助读者快速精通对象建模:类似于所有高级技能,完全掌握对象建模技术有两个前提条件:良好的理论基础和大量实践。本书提供了基础知识,以及帮助您应用和实践所学新知识的项目和练习的建议。但是,真正掌握对象建模的唯一方法是不断参与OO建模和开发项目。本书中提供的各种技能(希望能够给您带来信心),帮助您在专业机构中开始应用对象技术,这样您才能真正学习对象技术。特别是,如果有一位OO经验丰富的导师在您的第一次符合“行业标准”的项目中不断指导您,您将受益匪浅。
●帮助读者成为特定OO方法论方面的专家:OO软件开发领域有数十种不同的正式方法;新的方法不断出现,而且并无优劣之分。例如,UML(Unified Modeling Language,统一建模语言)符号体系是一种最新的方法,而OMT(Object Modeling Technique,对象建模技术)符号体系是一种最古老的方法,然而两者极为相似,因为UML从根本上极大地扩展了OMT。确保理解对象建模的一般过程以及UML的细节之后,您就具备了足够的知识,可以自己检阅、评估和选择特定的方法论(或者创建自己的方法论——甚至将来某一天编写关于自己创建的方法论的书籍)。
●介绍读者所需的全部C#知识:C#是内容相当丰富的语言,由数十个核心类、可以通过.NET类库使用的数百个其他类以及由这些类执行的数以千计的操作组成。如果C#提供了执行特定操作的多种备选方法,本书将只介绍一到两种最适合于解决当前问题的方法,帮助读者理解解决该问题的方式。尽管如此,本书仍然提供了构建完整的应用程序所需的足够C#语言知识。
掌握从本书中获得的知识之后,您就能够理解关于C#的更为彻底的阐述,例如,当前市面上的其他C#参考书籍提供的知识或者深入介绍UML的参考书籍中的知识。
成功的OO程序员必须理解对象的原因
我们经常与一些软件开发人员会面——在工作场所、在客户的办公室、在专业会议上以及在大学校园内——这些开发人员都尝试掌握C#这样的OOPL,他们参加C#培训,阅读C#相关书籍,或者安装并使用C#集成开发环境(integrated development environment,IDE),如Visual Studio .NET。然而,这是舍本逐末的方法:他们缺乏对象概念的基础知识,更严重的是,他们不知道如何从头开始构造软件应用程序以充分利用对象。
假设您知道如何构造住宅的基础知识,并且被要求构建房屋。实际上,您还是一位广受欢迎的世界知名建筑家!客户告诉您,建筑材料已经运送给您。在开始构造房屋的当天,一辆卡车开到了施工现场,卸下一大堆蓝色、星型的奇怪建材,每块建材的中间有一个空洞。因此,您只有完全停工!您曾经使用木材、砖材和石材等建筑材料建构过无数房屋,并且知道如何使用熟悉的材料施工;但是,您并不知道如何使用蓝星材料堆叠房屋。
经过一番冥思苦想,您拿出一把锤子和一些钉子,尝试按照以前处理木材的方式将这些蓝星材料钉在一起,但是材料无法完全合缝。然后,您又尝试使用砌砖材的灰泥填充蓝星材料之间的缝隙,但是灰泥似乎无法将这些蓝星材料粘在一起。由于预算紧张并且工期有限制(并且由于您自称是建筑专家,但是却不知道如何使用现代化的建材),因此您只好勉强施工。最终,您拼凑出一个至少在外表上看起来类似于房屋的建筑。
您的客户前来检查工作,他完全感到失望。客户选择蓝星材料作为建材的一个原因是它们相当节省能源,但是因为您使用钉子和灰泥装配蓝星建材,它们失去了大部分隔离房屋的固有能力。为了补偿热量的损失,客户要求您将房屋中的窗户全部换为绝热玻璃窗,这使您手足无措!更换窗户花费的时间远多于新建房屋的时间,更不要说替换在更换窗户时损坏的蓝星材料所需的成本。当您告诉客户目前的情况时,他立刻暴跳如雷!客户选择蓝星材料作为建材的另一个原因是,这种建材具有很强的适应性,易于迎合设计的更改,但是由于您采用无效的方式装配蓝星材料,因此必须逐个拆开它们,并更换其中的大部分。
遗憾的是,这也是许多程序员构建OO应用程序的方式,因为他们并没有很好地理解如何从对象的角度完成项目。更糟糕的是,绝大多数即将成为OO程序员的人员对于理解对象并将其用于OO语言编程的必要性一无所知。因此,他们使用C#这样的语言编程拼凑出远非理想的结果:在必须执行“中期修正”(例如,在部署应用程序之后需要引入新功能)时缺乏灵活性的程序。
本书读者对象
序言回到顶部↑
作为Java开发人员和讲师的Jacquie Barker,为了表达自己对于彻底学习对象技术是掌握一种面向对象编程语言(OOPL)的第一步的狂热信仰,精心编写了第一本书籍Beginning Java Objects。自从该书在2000年11月份出版以来,我们已经从无数读者处获得了全心全意的认可!
因此,当Apress的出版人GrayComell和Apress编辑部主任Dominic Shakeshafi盛情邀请我们编写Beginning Java Objects的C#版本时,我们非常乐意地接受了这个邀请。基本的对象概念都是与语言无关的,这一点千真万确。在本书的第1部分中将介绍对象的相关概念,在第11部分中将介绍对象建模技术。这些对象概念和对象建模技术可以同等地应用于任何OOPL。
但是,本书有两个目标:我们不仅希望介绍对象概念和对象建模技术,而且希望通过展示如何专门将这些概念转换为C#语法,帮助读者正确地掌握C#编程语言。基于这两个目标,我们编写了BeginningC#Objects一书!
Beginning C# Objects的第1版发布于2004年春天。在此之后,C#和.NET平台已经发生了巨大的变化。Microsoft已经发布了.NET Framework的多个新版本,并且在C#编程语言中增加了许多令人兴奋的新功能。本书的第2版全面介绍.NET和C#中适合于编程新手的最新且最优秀的功能,帮助读者成为专家级的C#程序员。
Grant Palmer和Jacquie Barker
因此,当Apress的出版人GrayComell和Apress编辑部主任Dominic Shakeshafi盛情邀请我们编写Beginning Java Objects的C#版本时,我们非常乐意地接受了这个邀请。基本的对象概念都是与语言无关的,这一点千真万确。在本书的第1部分中将介绍对象的相关概念,在第11部分中将介绍对象建模技术。这些对象概念和对象建模技术可以同等地应用于任何OOPL。
但是,本书有两个目标:我们不仅希望介绍对象概念和对象建模技术,而且希望通过展示如何专门将这些概念转换为C#语法,帮助读者正确地掌握C#编程语言。基于这两个目标,我们编写了BeginningC#Objects一书!
Beginning C# Objects的第1版发布于2004年春天。在此之后,C#和.NET平台已经发生了巨大的变化。Microsoft已经发布了.NET Framework的多个新版本,并且在C#编程语言中增加了许多令人兴奋的新功能。本书的第2版全面介绍.NET和C#中适合于编程新手的最新且最优秀的功能,帮助读者成为专家级的C#程序员。
Grant Palmer和Jacquie Barker







点击看大图




加载中...
