网站大量收购闲置独家精品文档,联系QQ:2885784924

第3章C#面向对象基础.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 C#面向对象基础 面向对象编程的英文简称是OOP(Object Oriented Programming),该项技术是目前运用最广泛的程序化设计方法,几乎已经完全取代了过去的面向过程编程。C#从一诞生开始,就是为面向对象编程所准备的。类是面向对象编程的核心部件,它描述了一组具有相同特性和行为的对象。基于面向对象的应用程序,就是由几个或几十个甚至更多的类组成,且类之间总是保持着或多或少的关系。 3.1 类的基本概念 在C#中,类可以看成是一种数据结构,它自身封装了数据成员和函数成员等。其中数据成员包括字段、常量和域等,而函数成员主要包括方法、属性、事件、索引器和操作符等。本节将对类的结构和用法进行详细说明。 3.1.1 C#中的类定义 在C#中,用class关键字来定义类,基本结构如下所示。 3.1.2 字段 字段实际上相当于类的变量,它在类中的应用十分广泛,看一个简单的例子,如下面代码所示。 3.1.3 常量 常量在类中所处的地位和字段差不多,只是它不可变而已。通常,定义常量用关键字const,如下面代码所示。 public const int age = 25; 3.1.4 域 域的声名过程和字段比较相似,但它们之间有一个很重要的区别,即域只能声明在类的内部,而不能声名在类的方法的内部。域分为实例域和静态域,实例域只能通过类的实例进行调用,而静态域可以直接通过类名进行调用。 3.1.5 类的方法 在C#中,方法的定义与其他语言一样,包括三个部分,分别为访问修饰符、输入参数和返回类型。方法的访问修饰符的类型和类的差不多,如下表所示。 3.1.6 类的属性 类的属性提供比较灵活的机制来读取、编写或计算私有字段的值,可以像使用公有数据成员一样使用属性。属性必须要由访问器进行读写,它的一般声明格式如下所示。 3.1.7 类的索引器 索引器是C#所特有的类成员,它的主要作用是对象能向数组一样被方便地引用。索引器的声明与属性的声明比较类似,如下所示。 3.1.7 类的索引器 索引器具有以下特点。 (1)索引器没有具体的名字,需要用this关键字对对象进行索引。this关键字指向被访问成员所在的当前实例,可以在构造函数和实例方法中实现对成员的访问,但不能访问静态成员。 (2)索引器不能定义为静态的。 (3)索引器的参数index只能是传值类型,不能出现ref和out关键字。 3.1.8 类的构造函数和析构函数 类的构造函数能被编译器自动执行,它具有以下特点。 (1)构造函数必须与类同名。 (2)构造函数不能有返回类型。 (3)当访问一个类时,它的构造函数最先被执行。 (4)一个类可以有多个构造函数,如果没有定义构造函数,系统会自动生成一个默认的构造函数。 3.1.9 事件 事件相关知识的内容太多,在本章的后面部分将用单独一节进行讲解。 3.2 Visual Studio中的类向导 在VS2010中,提供了创建类和类的成员的快捷方式,在本节中将通过例子进行详细说明。 图 程序运行结果 3.3 事件和委托 事件是C#中的又一个重要概念,它的定义如下所示。在发生其他类或对象需要关注的事情时,本类或对象可以通过事件来通知它们。发送事件的类称为事件的发送者,而接收事件的类称为事件的订阅户。 3.3.1 委托 委托是事件应用过程中必不可少的一个环节,委托首先是在Visual J++中提出的,后来被C#引用。如果一个类需要调用另一个类的方法,可以有三种方式,即实例方式、静态方式和委托方式。应用委托调用方法的流程如图所示。 图 委托使用流程图 3.3.2 委托的事件处理程序 前面提到,事件需要订阅者,当事件发生时,订阅者会给出相应的事件处理程序。事件处理程序本身是简单的函数形式,它的参数和返回类型必须和调用它的委托相匹配。委托在这里的作用是包含事件处理程序,当事件被触发时,通过委托来执行事件处理程序。 3.3.3 委托中的GUI事件 总的来说,事件具有以下特点。 (1)事件的发送者决定何时发送事件,事件的订阅者决定执行何种操作来响应事件。 (2)一个事件可以同时有多个订阅者,一个订阅者可以响应多个事件。 (3)没有订阅者的事件不会被调用。 (4)具有多个订阅者的事件被触发时,会同步调用多个事件处理程序。 (5)在.NET Framework中,事件是基于EventHandler委托和EventArgs基类的。 3.4 面向对象的特征 面向对象主要具有三大特征,即继承、多态和封装。正因为这些机制的存在,才使得应用程序变得更为简单和丰富多彩。本节将对以上三个特征进行详细介绍,此外还会提到面向对象中另一个

文档评论(0)

jdy261842 + 关注
实名认证
内容提供者

分享好文档!

1亿VIP精品文档

相关文档