1、在C#中用字段和属性来表示静态特征,用方法来描述类动态的行为
在C#中,在类中定义的变量叫字段,在方法中定义的变量就叫变量了。作用区别就是全局和非全局,其实就是称谓问题而已
public class Person
{
// 字段
private string name;
private int age;
private string sex;
// 属性
public string Name
{
get { return name; }
set { sex = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
public string Sex
{
get { return sex; }
set { sex = value; }
}
}
属性相当于是给字段添加了一层保护套,要添加则要走get{},要修改则要走set{},可以在get{}和set{}中增加一些限制。
即,使用属性对字段进行封装。
get{}访问器--读
set{}访问器--写
2、C#中的基类是object,
在C#中只能继承一个类,单继承。
继承父类要重写方法的时候,最好加上new关键字
三、
在软件开发过程当中,一旦软件代码做了修改,就有可能引入新的问题,所以这个时候就需要把已经完成了的验证用例重新跑一下,以确保代码的修改没有对已经验证过的功能造成影响。我们把这一个过程叫做回归验证(也有人叫代码回归)。
四、
虚方法,声明为virtual的方法,父类的虚方法可以在子类中使用override来重写。
5、由一个类创建新对象时,称为这个类的一个实例。对象存储在堆中。
6、静态方法和对象方法的唯一区别就是前者不要求有实例而后者需要。
八、、泛型:
1、泛型是用于处理算法和数据结构的一种编程方法,其主要是提高了代码的重用性,例如可以将泛型看成是一个可以回收的 集装箱A,给它贴上苹果标签,就能装苹果,贴上香蕉标签就能装香蕉。
2、使用的类型是否包含或操作未指定的数据类型(如集合类型)、如果您的类型将操作值类型,那么就会产生装箱和拆箱操作,就应该考虑使用泛型来防止装箱和拆箱操作等时候需要用到泛型。
3、泛型的类型参数T可以看作是一个占位符,它不是一种类型,它代表了可能的某种类型,可以是int,string,byte等等。
泛型方法:
public void Student <T>{ ... }
本来可以是:public void Student (int [ ] array){ ... } 或者public void Student (byte [ ] array){ ... } 等
泛型接口: interface 接口名<T>{...}