C#中的类与对象
类:说白了就是类型,是对具体事物的一种抽象总结。
对象:一个具体的事物。
类与对象的关系,类实例化就会得到一个对象,同样一个对象也应该属于某一个类。例如张三这个人,他是一个对象,同时他属于人类,在程序中要得到张三的信息应该怎么做呢,首先我们可以定义一个人类的类,然后用这个类型去创建张三这个具体的人(对象)。
1 //定义了一个人类的类型 2 public class Person 3 { 4 5 } 6 //利用人类这个类型创建一个具体的人,他的名字叫zhangsan 7 Person zhangsan = new Person();
但是人我们都知道,他有身高、体重、年龄等,这些我们可以把它归结为人类的一些属性,不仅张三有身高体重,李四也有身高体重这些属性。下面是我们在类中定义这些属性,这些属性就是用于描述对象的特征的。
1 /// <summary> 2 /// 人类 3 /// </summary> 4 public class Person 5 { 6 /// <summary> 7 /// 名字 8 /// </summary> 9 public string Name { get; set; } 10 /// <summary> 11 /// 身高 12 /// </summary> 13 public int Height { get; set; } 14 /// <summary> 15 /// 体重 16 /// </summary> 17 public int Weight { get; set; } 18 /// <summary> 19 /// 年龄 20 /// </summary> 21 public int Age { get; set; } 22 }
当类中定义了这些属性之后,利用人类Person类创建对象就可以为对象赋值。例如,上面的张三这个人,他的名字是张三,身高176厘米,体重65Kg,年龄24岁
1 Person zhangsan = new Person();//创建张三这个对象 2 //为张三这个对象的属性赋值 3 zhangsan.Name = "张三"; 4 zhangsan.Height = 176; 5 zhangsan.Weight = 65; 6 zhangsan.Age = 24;
类中除了包含这些静态属性以外呢,还可以有一些动态的动作可以执行,即方法。例如,人可以打招呼,人还可以玩耍。
1 /// <summary> 2 /// 人类 3 /// </summary> 4 public class Person 5 { 6 #region 属性 7 …… 8 #endregion 9 10 /// <summary> 11 /// 打招呼 12 /// </summary> 13 public void SayHi() 14 { 15 //打招呼 16 } 17 /// <summary> 18 /// 玩耍 19 /// </summary> 20 public void Play() 21 { 22 //玩耍 23 } 24 }
张三打招呼和玩耍:
1 zhangsan.SayHi();//打招呼 2 zhangsan.Play();//玩耍
总结:
类是用户自定义的一种数据类型,是对一组具有相同属性或行为的对象的抽象和描述,定义了处理哪些数据(字段属性等)以及一些处理数据的行为(方法);
对象是由类的实例化而来,类为动态创建的对象提供了定义,对象是类的一个具体的实例;
同一个类的对象都具有相同的存储结构和行为功能,但具体的每一个对象的存储数据和行为动作可以不一样。