第章面向对象设计方案基础8.docVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 面向对象设计基础 第二章介绍了C#的基本语法,以及使用方法。C#同Java、C++一样是面向对象的编程语言,同时C#更强化了面向对象的概念。本章将介绍面向对象的基础知识并介绍使用C#编写面向对象的应用程序,在C#中,面向对象的开发能够给系统设计、编码、维护提供更多的便利。 3.1 什么是面向对象 面向对象是应用程序开发中一个非常重要的技巧和概念,面向对象并不是什么高深的技术也不是负责的学习体系,面向对象主要是一种设计的思路。使用面向对象进行应用程序开发能够非常好的将现实中的物体进行抽象,这样就在一定程度上丰富了应用程序的结构,不仅如此,面向对象还包括继承、多态等特性以便能够快速构架应用程序。 3.1.1 传统的面向过程 在传统应用程序开发领域(如C语言的开发),或者是早期的基于B/S领域的Web应用程序开发(如ASP)都使用的是传统的面向过程的开发语言。而C++/JAVA/C#等开发都是使用的面向对象的开发语言。面向对象的开发语言更接近人类理解自然的语言,对开发人员来说更加通俗易懂,同时也对“对象”进行了较好的抽象。面向过程的一段C语言代码如下所示。 main() { sum(x,y); get(x,y); print(x); print(y); } 上述代码截取了C语言中的一个代码段,从上述代码中可以看出,C语言中基本没有对象的概念。当执行一个主方法Main时,按照程序逻辑调用不同的函数,来达到运算的目的。传统的面向过程的开发必须规定每一个步骤,或者明确每一种函数,并在程序运行中调用不同的函数来实现运算的目的。面向过程的思想决定了其没有派生、覆盖、继承等特性,所以每当创建一个新的“对象”时,就有可能需要编写更多的代码,这在一定程度上造成了代码的编写和维护的困难。 3.1.2 面向对象的概念 在面向过程的开发当中,开发人员发现在调用函数的时候,很难分清楚函数本身是属于哪个文件的,在代码的阅读上面,不同的开发人员会发现很难读懂其他的开发人员的代码。虽然注释和良好的命名都是必要的,但是还是给开发人员之间的交互造成了极大的困扰。为了解决这个问题,于是有了面向对象的概念。面向对象的一段C#代码如下所示。 class Program //主程序类 { public int sum(int x, int y) //sum方法 { return x + y; //返回值 } static void Main(string[] args) //静态方法 { int x = 1, y = 2; //声明整型变量 Program sum = new Program(); //创建对象 Console.WriteLine(sum.sum(x, y)); //输出方法返回值 } } 上述代码中,sum是一个Program对象,sum有一个方法sum进行加法运算。读者可能会疑惑,相对于面向过程,面向对象的代码量好像变多了,而且执行的方法过程并没有太大的区别。其实面向对象解决了代码难以划分结构、代码可读性不高的问题,让程序变得更加容易组织和阅读。例如在.NET中的Convert.ToInt32静态方法,当阅读到此代码的时候,开发人员能够比较清楚的知道这个方法做了什么操。而在调用面向过程中的函数的时候,如果函数的名称是CTi32,而又分不清该函数在上下文中起到的作用时,会比较难以理解这个方法究竟做了什么。 3.1.3 面向组件的概念 面向组件其实是面向对象的另一种加强。在面向对象中,常常需要引用命名空间或者引用头文件(如C++)来说明一个函数所在的对象与另一个同样名称的函数所在的对象是不同的。在传统的应用程序开发过程中,当客户更改了若干需求,往往只需要修改一个很小的功能,就要改动很多的代码,因此就出现了软件危机。 于是人们使用了分层的概念,将代码封装在一个类,然后对类进行组织协调,通过编译器对类或类库进行编译,形成DLL组件。在应用程序中使用DLL,从而提高了代码的重用性。分层的概念也是设计模式的开端。面向组件的概念在平时就已经被读者广泛使用了,例如.NET中的某些类库,还有COM组件等。面向组件的概念对开发

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档