1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ClassDemo
 8 {
 9     /// <summary>
10     /// 学员类
11     /// </summary>
12     /// 总结:
13     /// 字段:(成员变量)
14     /// 字段主要是为类的内部做数据交互使用,一般是private;
15     /// 字段可以赋值,也可以取值;
16     /// 当字段需要外部提供数据的时候,请将字段封装为属性,而不是使用公有字段,这是面向对象所提倡的;
17     /// 属性:
18     /// 属性一般是向外提供数据,主要用来描述对象的静态特征,所以,一般属性是public;
19     /// 属性可以根据需要设置为只读、只写,提高数据安全性;
20     /// 属性内部可以添加我们需要的业务逻辑,从而避免非法数据;
21     class Student
22     {
23         /// <summary>
24         ///字段:又称为成员变量,一般在类的内部做数据交互使用,所以一般使用private修饰;
25         ///字段命名规范:字段命名一般采用camel命名法,首字母小写
26         ///字段的通俗理解:字段好比我们的个人财产,只供我们自己使用,所以一般是private修饰;
27         ///添加标准:一个类总究竟需要添加几个字段,根据程序编写过程的需要来决定的;
28         /// </summary>
29         //字段:学号
30         private int studentId;
31         //字段:姓名
32         private string studentName = string.Empty;
33         //字段:年龄
34         private int age;
35 
36 
37 
38         /// <summary>
39         /// 属性是外界访问私有字段的入口,属性本身不存任何数据
40         /// 给属性赋值,其实是给属性指向字段的私有字段赋值;
41         /// 读取属性值,其实是获取属性指向的私有字段值或其他值;
42         /// 属性一般首字母大写;
43         /// </summary>
44        //属性:学号
45        public int StudentId
46         {
47             get { return studentId; }
48             set { studentId = value; }
49         }
50 
51         //属性:学生姓名
52         public string StudentName
53         {
54             get { return studentName; }
55             set { studentName = value; }
56         }
57 
58         //属性:年龄
59         public int Age
60         {
61             //给属性添加约束;
62             get { return age; }
63             set {
64                 if (value < 18)
65                     age = 18;
66                 else
67                     age = value;
68             }
69         }
70 
71         //方法:获取学员信息;
72         /// <summary>
73         /// 访问修饰符,可以省略,默认private,可以根据需要修改为public
74         /// 方法名,一般是“动词”或“动宾短语”,采用Pascal命名法,首字母大写,不能以数字开头
75         /// 参数列表:根据需要添加,也可以省略,参数列表要求“类型 参数名称”的形式,使用逗号分隔不同的参数;
76         /// 有返回值:使用return返回;return 语句后面不能再有其他语句;
77         /// 没有返回值:如果不返回任何数据,使用viod表示;
78         /// </summary>
79         /// <returns></returns>
80 
81         public string GetStudent()
82         {
83             string info = string.Format("姓名:{0} 学号:{1}", studentId, studentName);
84             return info;
85         }
86         //自动属性 prop+tab+tab
87         //适用范围:不能直接操作私有字段,不能设置只读只写属性,不能添加验证逻辑;
88         public int MyProperty { get; set; }
89     }
90 }

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!