[工学]5类与对象2.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]5类与对象2

5 类和对象(2) 第5课 类与对象(2) 本课在第4课的基础上: 定义类 使用属性 声明方法 使用构造函数 继续介绍类与对象的其它知识: 补充数组的相关知识 索引器 类的静态成员 并通过一个实例,来说明类的应用。 5.1 数组 为说明类的索引器的使用,在这儿先简单介绍一下数组。数组的具体使用请自行阅读教材第9章。 C#中,数组有以下几种形式: 一维数组 多维数组 数组的数组 数组是包含一些变量的数据结构,这些变量被称为元素。 数组中所有的元素类型必须相同。但由于数组类型可以是对象(Object),情况要复杂些 数组的索引从 0 开始 5.1.1 定义数组 定义一维数组 5.1.2 初始化并访问数组成员 初始化数组 访问数组成员 大括号中的值不都是常数,可以是在运行时通过运算而得到的值: 5.1.3 遍历整个数组 使用 for语句可以遍历所有数组元素 5.1.3 遍历整个数组 使用 foreach 语句为数组中的每一个元素反复执行嵌入的代码 for与foreach的比较 foreach语句总是遍历整个数组。如果只需要遍历数组的特定部分(如前半部分),或者绕过特定元素(如只遍历索引为偶数的元素),最好是使用for语句。 foreach语句总是从索引0遍历到索引Length-1,如果需要反向遍历,那么最好是使用for语句。 如果循环体需要知道元素索引,而不仅仅是元素值,那么必须使用for语句。 如果需要修改数组元素,那么必须使用for语句,因为foreach语句的循环变量是一个只读变量。 5.1.4 数组是引用类型 数组需要用new的方式创建。 前面我们也学习过一些需要使用new方式创建的类型: 5.1.4 数组是引用类型 使用new方式创建的类型是引用类型。 前面使用的int, double, decimal等类型是值类型, string, object等类型是引用类型。 关于值类型和引用类型 值类型 直接包含数据 存储在栈中 必须初始化 不能为 null int 是一个值类型 关于栈和堆 栈和堆 计算机内存从概念上被分成许多独立的部分,栈和堆是其中的两种。栈和堆的用作是完全不一样的。 当调用一个方法时,就需要为它的参数和局部变量分配内存。这些内存总是从栈中获得。当方法结束时(由于返回或抛出异常)时,其参数和局部变量所占用的内存将自动释放。 当使用new关键字和调用构造函数来创建一个对象(类的实例)时,就需要为该对象分配内存。对象的内存总是从堆中获得。当方法结束(由于返回或抛出异常)时,对象所占用的内存并不会自动释放回堆中。 5.1.5 数组的有关属性 数组的属性: Length:数组包含多少个元素 数组的方法: Clone:获取与源数组一模一样的数组 CopyTo:将源数组拷贝到目标数组的指定位置 Array类的方法: Sort:排序 Reverse:反转 5.2 索引器 介绍索引器之前,看下面这个Country类,它用以保存世界上各个国家的人口数量: 5.2 索引器 5.2 索引器 看起来可以: 5.2 索引器 当类中包含数组或集合时,如果能够把类看成是一个数组,那么,会简化对这些数组或集合的访问。索引器(Indexer)是一种属性,它允许以数组的方式来索引对象。 索引器是一种属性,因此它可以包含get访问器和set访问器。 索引器的属性名必须是this,形式如下: 5.2 索引器 5.2 索引器 上面的索引器还不够好 因为我并不知道中国是在第0个位置呀,如果能用c[中国]来取中国的人口数量就更好了。 5.2 索引器 索引器使用更加灵活: 索引器同属性一样,可以分别有get访问器和set访问器。 可以使用整数作下标,也可以使用字符串等其它类型作下标。 返回值可以是数组中的值类型,也可以是与数组中值 的类型不同的其它类型。 5.3 实例:贷款分析 编写一个贷款分析程序,对于给定的贷款数量、年利率和贷款周期,计算月付款额,并显示一个分期偿还的时间表,即显示在贷款期间内任何一年中任一月末贷款余额的表格。假设此贷款每月等额偿还。 计算月付款的公式为: 其中:p为贷款金额;r为月年率(年利率除以12),以0到1(100%)给出;n是还完贷款需要的时间(以月为单位) 计算下一月份的余额的公式为:余额=(1+r)*b-m 其中:b为上月的余额(未偿还贷款的金额),m是每月的偿还金额。 5.3 实例:贷款分析 需求分析:用户有哪些要求? 签订贷款合同时,我选择好贷款额、贷款年限和贷款年利率 使用构造函数,贷款额、贷款年限和贷款年利率 作为参数 我可以方便地了解以下信息: 贷款额 贷款年数、贷款月数 贷款年利率、贷款月利率 月付款额 每月余额 可以使用 方法 或 属性 来实现。 5.3 实例:贷款分析 设计分析 类

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档