第十一章 面向对象程序基础.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综合应用实例: 尽管属性与字段域有相同的使用语法,但它本身并不代表字段域。属性不直接对应存储位置,所以不能把它当变量使用,不能把属性作为ref或者out参数传递。属性并不一定要匹配字段,属性和方法一样,也有静态修饰,在静态属性的访问器中不能访问非静态数据也不能引用this。 提 示: get访问器的返回值类型与属性的类型相同,所 以在语句块中的return语句必须有一个可隐式转 换为属性类型的表达式。 set访问器无返回值,但它有一个隐式值参数 value,它的类型与属性的类型相同。 同时包含get和set访问器的属性是读/写属性, 只包含get访问器的属性是只读属性,只包含set 访问器的属性是只写属性。 属性必须有返回值,不能是void的。 总 结: 从商业角度看,例:库存商品数量,有客户订 单时,作为商业机密,你提供的订货接口,隐 藏了库存信息。 班级学生成绩管理。根据学生必修的课程及课程学分和课程成绩计算GPA,最后按GPA的值对学生进行排序 GPA(grade point average) :平均积分点 平均成绩点数 本程序的学生总人数、课程名、课程学分可以由控制台输入,为叙述简单,假定每个学生所选修的课程相同。 Course类定义了课程名、课程学分字段域,并使用属性公开私有字段。另外,Course类还定义了构造函数。 基本思路: GPA计算方法: 1 =60 1.5 =65 2 =70 2.5 =75 3 =80 3.5 =85 4 =90 4.5 =95 0 60 成绩点 成绩 成绩点 成绩 成绩点 成绩 成绩点 成绩 成绩与成绩点数对应表: 单科GP=(该科学分×该科成绩点) 该生总GP=单科GP之和 该生总学分=该生所选课程学分之和。 GPA=该生总GP/该生总学分 算法思路: 为简化程序,设各学生所选课程一致,所以: 对课程Course类,所含字段至少含: 课程名 courseName 学分 courseMark 课程Course类定义如下: class Course { string courseName; int courseMark; public Course( ) //不能省,因在Main中初始化Course数组需用 { //这是根据若定义有Course构造函数,则不再有缺省的构造函数 } public Course(string name, int mark) { courseName = name; courseMark = mark; } public string CourseName { set { courseName = value; } get { return courseName; } } public int CourseMark { set { courseMark = value; } get { return courseMark; } } } 对学生Student类,所含字段应有: 学号 id 姓名 name Course对象数组 成绩数组 score GPA 说明: 学生所学课程数作为参数传入 由于各学生所学课程相同,所以字段: Course对 象数组应定义为static,以节约空间,可考虑再定 义一个static的courseNum字段,而不作为参数传入 对学生类的功能分析要完善,设置与获取相关信息 详见课堂演示 class Student { string stuName; // 学生姓名 string stuID; // 学生学号 static int numberOfCourse; // 加static修饰符表明这个域为所有学生类对象共

文档评论(0)

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

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

1亿VIP精品文档

相关文档