第2课属性和方法.ppt
文本预览下载声明
第二课 属性和方法(2) * * 一、类和对象 类:描述一组相似对象的共性。 对象:类的某一个特定实例。 例如两种品牌的汽车有共性,如产地、排量、颜色,它们都能够行驶、刹车,把她们综合一下,便能够得出一个通用的类型——小汽车。 产地 车体颜色 行驶 刹车 小汽车 类 对象 二、类和对象的使用 使用类和对象的方法: (1)将类实例化为对象。 (2)访问对象的属性或者方法。 例如通过小汽车类Car实例化一个法拉利对象,然后调用它的方法Run()。 //… Car ferrari = New Car(); ferrari.Run(); //… 类 对象 实例化对象 调用方法 三、类的成员 1、字段:在类中用于存储数据的变量。 2、属性:通过get和set访问器访问类中字段的方式成为属性。 3、方法:表示类的行为。当要对象做一件事情时,需要添加方法。 public class Student { int age = 26; // 姓名 private string name; public string Name { get { return name; } set { name = value; } } //问候 public void SayHi() { … } } 类的成员 字段 属性 方法 … 类名 四、共有成员和私有成员 class student { private string name;//姓名 public int age; //年龄 public string idNumber ;//身份证号 } … static void Main(string[] args) { student myStudent = new student(); myStudent.name = 张三; myStudent.age = 20; } 私有成员 公有成员 实例化一个对象 可以访问 无法访问编译错误 数据安全性 static void Main(string[] args) { student myStudent = new student(); myStudent.age = -2; myStudent.idNumber = 123456; } 非法数据 身份证号被改为非法数据 无法获得数据 无法正常赋值 有时候将类中的字段公开是不安全的 如果设为私有成员 问题:能否对这些字段进行规则约束或者只读呢? 在类中使用属性 private int age; //年龄 public int Age { get { return age; } set { if (value 0 value 100) { age = value; } else { age = 18; } } } myStudent.Age = -20; …//打印 myStudent.Age = 40; …//打印 没有访问age 公开Age 录入非法数据 打印私有变量age 不公开age 通过公有Age访问和约束私有字段age 什么是属性 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赋值 属性的特点 private int age; //年龄 p
显示全部