- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章C#面向对象编程精要
第3章 C#面向对象编程 教学目标 了解类和对象的定义和使用 掌握类的构造函数和析构函数的定义及特点 熟练继承和多态的实现方法 熟悉接口的定义和特点 掌握委托的性质和事件的处理方法 了解集合和索引器的使用 教学内容 3.1 类和对象 3.2 接口 3.3 委托与事件 3.4 集合与索引器 3.5 面对对象的其他主题 习题 3.1 类和对象 3.1.1 类的定义 类必须先定义然后才能使用 C#使用class关键字来定义类 类定义的格式 类访问修饰符 class 类名:基类名 { // 定义类的成员 } 类访问修饰符指定了类的可访问性,可以使用表3-1中的任何一种。 类访问修饰符 关于类定义的说明 (1)默认情况下,类声明为内部的(与使用internal关键字显式指定相同),即只有当前项目中的代码才能访问它。公共类可以由其他项目中的代码来访问。abstract指定类是抽象的(不能实例化对象,只能继承),使用关键字sealed指定类是密封的(不能继承)。 (2)如果没有显式地指定基类,那么它的基类隐含为object 。 类的成员包括字段、方法和属性。所有成员都有访问级别,可以使用的访问修饰符关键字如下,当没有指定访问修饰符时,默认为private。 类成员访问修饰符 public----成员可以由任何代码访问。 private----成员只能由类中的代码访问。 protected----成员只能由类或派生类中的代码访问。 internal----成员只能由定义它的程序集(项目)内部的代码访问。 protected internal ----成员只能由项目(确切地讲是程序集)中派生类的代码来访问。 也可以使用关键字static来声明成员,这表示它们是类的静态成员,而不是实例成员。静态成员只能通过类来访问,而不能通过类的对象来访问。 类的字段和方法 1. 定义字段 字段的定义与变量的定义相同,并且可以进行初始化。 可以使用关键字readonly,表示该字段只能在执行构造函数的过程中赋值,或由初始化语句赋值。 可以使用关键字const来创建一个常量,const成员也是静态的,但是不需要用static修饰符。 2. 定义方法 方法使用标准的函数格式定义,也可以在方法定义中使用下述关键字。 virtual ---- 方法可以重写。 abstract ---- 方法必须在非抽象的派生类中重写(只用于抽象类)。 override ---- 方法重写了一个 类的方法 C#中方法的参数有四种不同形式。 (1)值参数:在方法声明时不加修饰的形参就是值参数,当方法被调用时,编译器为值参数分配存储单元,然后将对应的实参的值拷贝到形参中。值参数对应的实参可以是变量、常量和表达式,但要求其值的类型必须与形参的类型相同或者兼容。值参数的好处是在方法中对形参的任何修改都不会影响外部的实参。 (2)引用参数:引用参数使用ref关键字指定。引用参数与方法调用中的实参变量共用一个存储单元。因此,在方法内对形参的任何修改都会影响对应的实参变量。 类的方法 使用引用参数时注意: ref关键字仅对跟在它后面的参数有效,而不能应用于整个参数表。 在调用方法时,也需要用ref修饰实参,而且实参必须是变量,不能是常量或表达式。 ref参数对应的实参在调用之前必须已经初始化,C#不允许假定ref参数在使用它的函数中初始化(即把未赋值的变量用作ref参数是非法的)。 类的方法 (3)输出参数:使用out关键字指定输出参数。 out参数与ref参数的重要区别是,out参数只能用于从方法中传出值,而不能接受实参数据,所以可以把未赋值的变量用作out参数。在方法内out参数被认为是未赋过值的,所以在方法中应该对out参数赋值。 (4)参数数组 一般而言,调用方法时实参必须与该方法声明的形参在类型和数量上相匹配。但有时我们希望更灵活一些,能够给方法传递任意个数的参数。C#提供了传递可变长度的参数表的机制,即使用params关键字来指定一个参数可变长的参数表。 类的属性 3. 定义属性 属性的定义方式与字段类似,但属性拥有两个类似于函数的访问器,一个用于获取属性的值,称为get访问器,一个用于设置属性的值,称为set访问器。同时包含get和set访问器的属性是读写属性,只包含get访问器的属性是只读属性,只包含set访问器的属性是只写属性。 get访问器必须有一个属性类型的返回值,简单的属性一般与私有字段相关联,以控制对这个字段的访问,此时get访问器可以直接返回该字段的值,set访问器可以把一个值赋给字段(在赋值前可以对值的合法性进行检查),可以使用关键字value表示用户提供的属性值。 类的属性 属性可以像方法一样使用virtual、abstract和over
文档评论(0)