第6讲面向对象程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
--------C#程序设计------- --------C#程序设计------- 第6章 面向对象程序设计 6.6 静态成员 6.6 静态成员 静态成员 静态字段 静态方法 特点 静态成员属于类所有 非静态成员属于类的对象所有 每个类的对象都有非静态成员的内存区域,而静态成员只在系统内存中存在一份空间 6.6.1 静态字段 静态字段是类中所有对象共享的成员,存储空间放在类公共区中。 静态字段的定义:前面加上static关键词。 访问静态字段: 类名.静态字段名 6.6.2 静态方法 静态方法也属于类所有 静态成员间访问 类内部: 静态方法只能访问静态成员,不能访问非静态成员 非静态方法可以访问所有成员(静态和非静态) 类外部: 可访问对象的非静态成员,不能访问静态成员 可通过类名访问类的静态成员,不能访问非静态成员 6.7 属性 属性具有良好的封装性。不允许外部程序直接访问类的字段,而是通过访问器进行访问(get和set) 1、属性的声明 [属性修饰符] 属性的类型 属性名称 { set{} get{} } get访问器:为属性指定读数据的方法,一般以return语句结束。 set访问器:为属性指定写数据的方法,用隐含参数value指代用户要写入的数据。 注意:属性的类型与其关联的字段必须是同一类型或可隐式转换的类型 属性的名称与其关联的字段无关,但推荐与字段一致 2、属性的访问 使用对象的属性进行成员字段的操作,与直接访问字段非常相似 编译器自动识别操作类型,分别调用get和set中的语句。 技巧:字段对应属性的快速生成 在字段名上单击右键?重构?封装字段 示例 为stu类的性别_sex域(成员变量)声明相应属性Sex(包含get和set访问器)。要求: 实现Sex属性只接受“男”或“女”的值,否则输出错误信息; Sex属性的默认值为“男”。 6.8 方法 1、方法的定义 方法的返回类型与方法实现部分的 return 语句返回的值类型相匹配 不需要返回值时,返回类型为 void 后面不跟任何值的return语句,返回的是void值,可以省略 思考 用一个return语句可否返回多个值? 如果有多个return语句系统会如何处理? **注意:当遇到return语句后,程序会立即退出 比较有返回值和无返回值的方法在调用时的区别 2、 方法的参数 参数分类 形式参数:声明方法时,方法参数列表中的参数 实在参数:调用方法时提供的参数 注意:形参的个数和类型要和实参一一对应 按传递方式不同分类 值类型:不使用修饰符 引用类型:使用ref修饰符声明 输出参数:使用out修饰符声明 参数数组:使用params修饰符声明 2、 方法的参数 (1)值类型参数传递 值类型参数传递时,是将实参的值复制一份给形参(即分别分配内存空间存储) 当形参的值发生变化时,不会影响实参 (2)引用类型参数传递 方法的参数使用ref修饰符声明 当调用方法时也需要在实参前加ref,且实参不能为常量 传递的参数是实参的引用,形参与实参指向同一目标数据,可以实现参数值的双向传递 练习 编写方法:计算给定正整数的阶乘 提示 正整数为输入参数(注意参数的数据类型) 用return语句返回计算结果 实验 在上次实验的基础上进行修改 将程序修改为窗口程序 参考界面如右图: **String.Format 格式化字符串 P55 给学生类添加静态字段,用于 保存学校名称,并为其赋默认 初值; 为三门课程成绩字段设计属性,使成绩输入范围限定在0-100之间 设计方法用于返回学生对象三门课程的平均成绩,请用return实现; 2、 方法的参数 (3)输出类型参数传递 方法的参数使用out修饰符声明(同样调用时也需要加out) **out参数必须在方法内赋值 通常用在需要多个返回值的方法中 (4)数组类型参数传递 方法的数组参数使用params修饰符声明 数组参数必须在参数表最后且只能是一维数组 通常用于向方法传递可变数量的参数 3、 方法的重载 两个或两个以上方法,具有相同的方法名,但参数个数或参数类型不同,编译器能够根据实参的不同确定在哪种情况下调用哪个方法,构成了方法的重载。 C#中最常见的方法重载—构造函数重载 常用于根据不同要求初始化不同的对象 练习 编写控制台程序 重载方法add,当传入一个数值时,计算数值自身相加;当传入两个数值时,计算两个数的和。 思考:如何调用不同的方法?观察结果。 6.9 委托 1、委托 委托将方法作为方法的参数进行传递 委托的使用“先定义,后实例化,最后再调用” 定义:delegate int SomeDelegate(int n

文档评论(0)

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

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

1亿VIP精品文档

相关文档