收藏 分销(赏)

面向对象程序设计C.doc

上传人:人****来 文档编号:3848448 上传时间:2024-07-22 格式:DOC 页数:8 大小:33.50KB
下载 相关 举报
面向对象程序设计C.doc_第1页
第1页 / 共8页
面向对象程序设计C.doc_第2页
第2页 / 共8页
面向对象程序设计C.doc_第3页
第3页 / 共8页
面向对象程序设计C.doc_第4页
第4页 / 共8页
面向对象程序设计C.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、面向对象程序设计( C#) 课程教案理论课 第5次课授课课题类与类成员1课时安排4学时备 注1. 教学目的 (1) 掌握类和对象的概念(2) 掌握字段(3) 掌握类中的常量(4) 掌握类的方法成员2. 教学重点 (1) 掌握字段(2) 掌握类中的常量(1) 掌握类的方法成员3. 教学难点 (1) 掌握字段(2) 掌握类中的常量(3) 掌握类的方法成员4. 教学方法( 请打) : 讲授 讨论 指导 其它5. 教学手段( 请打) : 多媒体 模型 实物 挂图 音像 其它6. 教学过程6.1引入 ( 5 分钟)。6.2教学内容 C#中没有存在于类型(类、 结构、 接口、 枚举等)之外的全局变量和全局

2、函数, 所有的程序逻辑和数据都必须放在一个类型定义中, 一般情况下是一个类中。一、 类和对象 类是C#应用程序的基本组成单元, 是在编写应用程序时对系统中的相关概念进行抽象并进一步封装的产物。1. 类的声明类是C#中最重要的类型, 它是一种数据结构, 将状态( 数据成员) 和操作( 函数成员) 封装在一个独立的单元中。声明一个类使用关键字class, 格式如下: 访问修饰符 class 类名 /类的成员定义;访问修饰符能够用来修饰类和类的成员, 它指出了类或类的成员是否能够被其它类的代码合法引用。C#中的5种访问修饰符, 见P51表4-1。省略了访问修饰符, 默认的访问权限是internal。

3、2. 对象类在声明之后, 一般情况下是不能直接使用的, 需要创立这个类的对象( 实例) , 而且声明对这个对象的引用。声明对象引用的格式如下: 类名 对象名; C#中使用关键字new来创立一个对象, 其声明格式如下: new 类名();一般情况下, 同时声明对象引用和创立对象, 格式如下: 类名 对象( 引用) 名 = new 类名(); 内存分配情况见P52 图4-1、 4-2对象成员的访问, 使用运算符”.”, 其格式如下: 对象名.成员名类与对象的关系: 类是相对抽象的概念, 对象是相对具体的概念; 类为生成对象提供模板, 有了模板就能够用new运算符生成众多具有相同结构( 可是成员值能

4、够不同) 的对象。3. 类的成员类的意义和作用经过类的成员来体现。类的成员类型见P53表4-2.二、 字段 字段用来表示在类中定义的类与对象相关联的变量成员。根据字段是跟实例对象还是和类相关, 能够分为实例字段和静态字段, 另外还有只读字段。1. 实例字段实例字段是与类的实例对象相关的字段, 在该类的每个实例中都有它的数据副本。改变其中一个实例的某个实例字段, 不会影响到其它实例中的相同字段。实例字段的声明格式如下: 访问修饰符 数据类型 字段名=初始值;如果省略访问修饰符, 默认的成员访问权限为private; 如果省略初值赋值, 则字段会根据其数据类型的不同而具有相应的默认值。实例字段的访

5、问: 在类内, 能够直接以字段名访问; 在类外, 就必须先创立一个该类的实例对象, 然后经过”对象名.成员名”方式来访问( 前提是该字段的访问权限允许该操作) 。2. 静态字段静态, 表明该字段是属于类本身而不是属于具体某一个实例对象, 它被所有的实例共享。类的字段默认都是实例字段, 只有在声明时特别说明才为静态的。静态字段的声明格式如下: 访问修饰符 static 数据类型 字段名=初始值;在类外使用静态字段时, 无须创立类的实例, 访问格式为: 类名.静态字段名在类内, 能够用上述访问方式, 也能够直接省略类名直接访问。可是, 任何时候都不能以”对象名.静态成员名”的方式来访问静态字段成员

6、。静态字段和实例字段内存分配情况见P58图4-83. 只读字段只读字段只能在声明或者在构造函数中进行赋值, 而在其它地方无法修改其值。声明格式如下: 访问修饰符 readonly 数据类型 字段名=初始值;能够用static和readonly同时修饰成员, 这样就具有两种访问限制条件。三、 常量 类中, 常量是具有常数值的类的数据成员。在声明常量时就要确定它们的值, 而之后该值是不能再被修改的。常量数据成员的声明格式为: 访问修饰符 const 数据类型 常量名 = 初始值; 常量相当于是类的成员, 不是对象的成员, 因此访问常量的方式和访问静态字段的一样: 类名.常量名只读字段 VS. 常量

7、字段( 1) 常量字段只能在声明时赋值; 只读字段可在声明时或构造函数中对其赋值。( 2) 常量字段在编译时就必须确定其值; 只读字段能够在程序运行时确定( 这是其赋值是放在构造函数中的) 。( 3) 常量字段默认是static的, 即是类级别的成员; 只读字段能够是类的成员, 也能够是对象的成员。四、 方法 一般情况下, 方法包括方法声明和方法体。方法声明用来指定方法名称、 方法参数等; 方法体用来描述该方法使用何种算法和结构来完成操作。1. 方法声明方法声明的一般格式如下 : 访问修饰符 返回值类型 方法名称(参数列表);2. 方法体方法体是用来描述方法所要执行的语句序列, 包含在一对大括

8、号”中。( 1) 局部变量在方法体中定义的变量, 一般称为局部变量。定义格式如下: 数据类型 变量名称=初始值;局部变量VS.实例字段a) 实例字段如未赋值, 有默认初始值, 而局部变量没有默认初值。b) 局部变量不能用访问修饰符修饰。c) 生存周期不同( 2) return语句如果方法有返回值, 则必须在方法中使用return语句从方法中返回一个值, 使用return语句的格式如下: return 表示式; 3. 实例方法与静态方法用static修饰的方法就是静态方法。实例方法属于实例对象, 静态方法属于类本身。实例方法 VS. 静态方法( 1) 静态方法中不能引用类的实例成员, 只能访问静

9、态成员。( 2) 调用格式不同。4. 方法调用在类的外部, 调用类的成员方法有两种方式。实例方法的调用格式: 对象名.实例方法名( 参数列表) ; 静态方法的调用格式: 类名.静态方法名( 参数列表) ; 而在类内部, 不论是否是静态方法, 都能够用方法名( 参数列表) ; 方式来调用。5. 参数传递参数传递是指实参把数据传递给形参的方式, 或是说方法调用方与方法之间传递信息的一种方式。( 1) 值传递C#程序中, 所有的参数默认都是经过值来传递的, 除非特别说明。按值传递分为两种形式: 值类型的按值传递和引用类型的按值传递。值类型的按值传递本质是: 实参将值复制一份传递给形参, 形参接收了实

10、参的值后与实参不再有任何联系。这种传递是单向的, 即形参值的改变不会影响到实参。当引用类型按值传递时, 可能会更改所引用对象的数据, 如某类对象成员的值, 可是无法更改引用( 变量) 本身的值, 因为引用本身是按值来传递的。( 2) 引用传递当使用”引用传递”方式传递参数时, 在方法中对形参进行的任意修改都会反映在相应的实参中, 这种方式又称为双向传递。在C#中, 能够用ref和out关键字来实现引用传递。当希望方法返回多个值时, 能够将参数按引用来传递。a) ref参数使用方法: 在定义方法时, 在需要按引用传递的参数的类型说明符前加上关键字ref。在调用方法时, 在按引用传递的实参之前也加

11、上关键字ref。另外, 使用ref进行引用传递之前, 实参必须初始化。说明: 引用传递和值传递的区别, 当将实参的值传递给形参的时候, 并没有为形参在栈中另外开辟存储空间, 而是相当于实参的一个”别名”。这样一来, 在方法体中对形参进行操作就相当于是对实参进行的操作, 所有的改变都会被带出方法。b) out参数和ref类似, 若要使用out参数, 方法定义和调用方法都必须显式使用out关键字。关键字ref VS. 关键字out两个关键字的区别在于哪个方法负责初始化参数。用ref标识的参数, 需要在调用该方法前, 由调用方法就初始化好; 用out标识的参数, 调用代码在调用该方法之前能够不初始化

12、该参数, 即便初始化了, 也会被被调用方法忽略掉。一言蔽之, out参数不能将值带进方法体, 而只能将值带出方法体。( 3) params参数( 参数数组) params关键字, 为方法提供一个可接受可变数目参数的能力。params参数定义格式如下: 方法修饰符 返回类型 方法名( params 类型 变量名) /方法体 6. 方法重载方法签名: 方法的名称和参数列表。同一个类中, 每个方法的签名必须是唯一的。如果类中有两个或更多个方法具有相同的名称和不同的参数列表, 则称这些同名方法实现了方法重载( overload) 。注意区分构成重载的条件和不构成重载的情况。7. 方法递归在方法体中调用自身就形成了方法的递归调用。注意: 任何递归都必须至少具备一个能够返回的条件, 当满足这个条件时, 递归就进行回溯, 这个条件叫做递归出口。在使用递归时注意, 如果递归的层次结构很深, 将会占用大量的内存, 回事的性能降低。6.3课程小结 掌握类和对象的概念掌握字段掌握类中的常量掌握类的方法成员6.4思考与练习 课后练习4.1、 4.2、 4.4、 4.77. 参考资料 1 C#应用程序设计,张伟、 韦鹏程、 朱盈贤主编, 铁道出版社, .7 2 深入理解C#, Jon Skeet, 人民邮电出版社, .1.8. 教学后记

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服