C#程序设计 第3章C#面向对象编程
C# 程序设计 第3章 C#面向对象编程
基本内容 属性 索引器 方法的参数 小结
2 基本内容 属性 索引器 方法的参数 小结
本节目标 ■理解面向对象的基本概念 ■理解类和对象的区别和联系 ■掌握属性的使用 ■区别只读属性和可读写属性 ■掌握方法的声明和使用 3
3 本节目标 ▪ 理解面向对象的基本概念 ▪ 理解类和对象的区别和联系 ▪ 掌握属性的使用 ▪ 区别只读属性和可读写属性 ▪ 掌握方法的声明和使用
数据安全 示例 static void Main(string args) Student myStudent=new Student(); myStudent.age =-2; 非法数据 myStudent.id ="123456"; 有时候将类中 的字段公开是 身份证号不能被修改 不安全的 无法正常赋值 如果设为私有成员 无法获得数据 问题 能否对这些字段进行规则约束或者只读呢?
4 数据安全 static void Main(string[] args) { Student myStudent = new Student(); myStudent.age = -2; myStudent.id = "123456"; } 非法数据 身份证号不能被修改 无法获得数据 无法正常赋值 有时候将类中 的字段公开是 不安全的 如果设为私有成员 能否对这些字段进行规则约束或者只读呢?
什么是属性(property) [属性修饰符类型属性名 C#不直接访问类的数据 get{return字段名;} 通过访问器访问(get,set) set{字段名=value;} class Student 属性的类型和字段类 型必须一致。 get和set都存在:读写属性 ∥姓名 private string name; 只有get时:只读属性 public string Name 只有set时:只写属性 get return name; 返回name set name value; 给name赋值 get用于获取 set用于设置 相应字段的值 字段的值 5
5 什么是属性(property) ▪ C#不直接访问类的数据 ▪ 通过访问器访问(get,set) class Student { // 姓名 private string name; public string Name { get { return name; } set { name = value; } } } 返回name get用于获取 set用于设置 相应字段的值 字段的值 只有get时:只读属性 只有set时:只写属性 get和set都存在:读写属性 属性的类型和字段类 型必须一致。 给name赋值 [属性修饰符]类型 属性名 { get {return 字段名;} set {字段名 = value;} }