一、构造器
1、注意事项
@1、构造器是用来创建对象实例的方法,该方法没有返回类型,访问级别必须为public,方法名必须完全和类名相同。
@2、C#编译器会在编译时自动添加一个默认构造器(不获取参数,什么也不做)。然而,一旦为一个类显式添加了一个构造器,c#编译器就不会再自动提供默认构造器了。
@3、可以显式的定义一个默认构造器,这也许是一种能讲某些字段初始化成特定值的构造器。定义默认构造器只需要声明一个不获取任何参数的构造器。
@4、当一个字段同时在声明时和构造器内部进行了不同的赋值时,字段的最终的值是在构造器内部所赋的值。因为只有字段在声明时被赋值发生后,构造器内部的赋值才会发生。所以,应该避免在同一个类中,既在声明时赋值,又在构造器中赋值。
2、在构造器重载时,使用构造器链避免输入重复代码
上述代码中对Employee对象进行初始化的代码在好几个地方都重复了,所以必须在多个地方进行维护。
为了避免输入重复代码,可以使用this在一个构造器中调用另一个构造器(称为构造器链),它是用构造器初始化器实现的。构造器初始化器会在执行当前构造器的实现之前,判断要调用另外那个构造器。
修改后代码如下: