面向对象程序语言设计6用对象思考:值类型及引用类型”.pptVIP

  • 10
  • 0
  • 约6.87千字
  • 约 34页
  • 2017-06-10 发布于北京
  • 举报

面向对象程序语言设计6用对象思考:值类型及引用类型”.ppt

面向对象程序语言设计6用对象思考:值类型及引用类型”

用对象思考:值类型和引用类型 回顾 预习检查 结构是值类型还是引用类型? 结构是否可以添加无参的构造函数? 本章任务 分别用结构和类实现Student对象 体会值类型与引用类型的区别 本章目标 熟练掌握常量、枚举、结构的使用 理解值类型与引用类型的概念 理解值类型与引用类型作为参数时的区别 数据类型回顾 常用的数据类型有哪些? 为什么使用常量 常量 常量在使用过程中值不会发生变化 常量程序中反复使用 随意赋值的危险 为Student类添加性别的属性,用常量赋值 什么是枚举 用一种新的类型定义enum 枚举定义 枚举是一组描述性的名称 枚举定义一组有限的值,不能包含方法 对可能的值进行约束 枚举允许描述性名称表示整数值 枚举与其它类型的转换 枚举转换为字符串 字符串转换为枚举 枚举的特点 枚举的典型应用 为什么需要结构 结构定义 结构中有属性,也可以有方法 结构的使用2-1 结构的使用2-2 理解结构与类的区别 值类型与引用类型 使用类版Student和结构版Student实现下面操作 值类型 引用类型 引用类型存储对值的引用 拆箱和装箱 值类型和引用类型之间的转换 值方式的参数的传递 值传递方式传递值类型: 结构:StructStudent 不会被修改 值方式的参数的传递 值传递引用类型时: 类:Student 参数在程序中被修改 引用方式传递 ref引用方式传递参数 值类型和引用类型细分 传递数组 数组是值类型还是引用类型 数组属性 建立班级类包含多个学员,访问学员对象 什么是索引器 索引器的特点 数组属性只能根据下标(索引)来访问 索引器可以被重载 可以使用更灵活的方式访问,定义访问方式 我们以前用过的索引器 类图 类图描述类的结构 通用的类图 总结 常数在程序中可以被修改吗? 枚举中可以有方法吗? 简述类和结构的区别? 值类型和引用类型间的转换称为什么? 通用的类图中私有成员用什么表示? 能否通过姓名访问学员? public Student this[int index] { get { return students[index]; } } 学生类中添加 //采用索引器的方式 MyClass myClass = new MyClass(T01); myClass.Students[2].SayHi(); myClass.Students[周杰杰].SayHi(); … 可以按照索引访问 重载的索引器根据姓名查找学员 演示示例8:MySchool DataRow[列名] DataReader[列名] VS2005的类图 查看一个类的类图 “锁”表示私有 不同字段有不同的图标 - age:int - name:string + Name:string 类名Student +SayHi():void “-”表示私有 “+”表示公有 “:”后是变量类型 “:”后是返回类型 读懂类图是OOP的基本要求 * * class Student { private string Study(string name) {…} private int Study(string name) {…} } 属性中get和set访问器可以单独存在么? 返回值不同的两个方法不能重载 真假判断 姓名 成绩 年龄 举例 bool 布尔型 string 字符串 float 浮点型 int 整型 C# 常用数据类型 public class Compute { double pi = 3.14; //计算圆的周长 public double Perimeter(double radius) { return 2 * pi * radius; } //计算圆的面积 public double area(double radius) {return pi * radius * radius;} } 这个类中,会反复使用pi 如果pi在类中被修改了,计算结果错误 如何避免pi在类中被修改? const 类型 常量名 = 常量值 程序中不会被改变 static void Main(string[] args) { const int PI = 3.14; PI = 3.20; } 强制赋值会发生错误 常量名通常使用大写 const string GENDER_M = 男; const string GENDER_F = 女; … // 性别 private string gender; public string Gender {

文档评论(0)

1亿VIP精品文档

相关文档