public class student//创建一个学生类 { //属性是对现实世界中实体静态特征的抽象,它提供了对类或对象性质的访问。此处属性应指数据成员。 //C#数据成员:包括字段、常量、属性, //字段:是在类范围声明的变量。 //字段可以是内置数值类型或其他类的实例。 //常量:是在类范围声明的常量,也理解为固定的字段。 //属性:类中的私有或保护字段,外部不可直接访问,可用属性访问器(get 和 set)访问,体现了对象的封装性。 //字段可以说就是属性; //属性访问器可以说是一种特殊的方法; //同时包含get和set的属性称为读写属性,只有get的属性称为只读属性,只有set的属性称为只写属性。 //成员修饰符后跟static声明的属性是静态属性,意义类似静态方法,直接使用而不能实例化后使用。 private string name; public string Name { get { return name; } set { if (value.Length > 1) { name = value; } else { name = "名字不完整"; } } } private uint age; public uint Age //只写 {//读访问器 set { age = value; } } private char Sex; protected char Sex1 { get { return Sex; } set { Sex = value; } } private string telephone; internal string Telephone { get { return telephone; } set { telephone = value; } } //不需要私有变量,不必验证,完全开放 public string Grade { get; set; } //方法成员列表 public void say() { Console.WriteLine("Hello, 淄博汉企"); } public double Sum(double x, double y) { return x + y; } public int Sum(int x, int y) { return x + y; } //两个同名函数彼此构成“重载(Overload)”关系 //两个构成重载关系的函数必须满足以下条件。(1)函数名相同。(2)参数类型不同,或参数个数不同。 //返回值类型的不同不是函数重载的判断条件。 // public long Sum(int x,int y) // { // return x+y; //} //当使用new关键字创建一个对象时,一个特殊的函数被自动调用,这就是类的构造函数。 //类的构造函数与类名相同,没有返回值。一般用于初始化类的私有数据字段。 public student() { this.name = "12138";//this指当前类 } } public class boystudent : student //类的继承 { public static char Sex='男'; public void ChildFunc() { Console.Write("这是个子类"); } } class StaticMembers { public static int staticVar = 0; public int dynamicVar = 0; public void increaseValue() { staticVar++; dynamicVar++; } public static void staticFunc() { // increaseValue(); StaticMembers obj = new StaticMembers(); obj.dynamicVar++; staticVar++; } // }