重写. 重载. 构造函数重写. 重载. 构造函数. 重写是子类的方法覆盖父类的方法,要求方法名和参数都相同重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名, 但是参数却不相同, 方法体也不相同, 最常见的重载的例子就是类的构造函数,可以参考 API 帮助文档看看类的构造方法构造函数被要求与类型名相同且没有返回值。一个类可以拥有多个构造函数,但它们的方法签名不能相同。构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。在下面的示例中,定义了一个具有一个简单的构造函数,名为 Taxi 的类。然后使用 new 运算符来实例化该类。在为新对象分配内存之后, new 运算符立即调用 Taxi 构造函数。 C# 复制代码 public class Taxi { public bool isInitialized; public Taxi() { isInitialized = true; }} class TestTaxi { static void Main() { Taxi t= new Taxi(); (); }} 不带参数的构造函数称为“默认构造函数”。无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。有关更多信息,请参见实例构造函数。除非类是 static 的, 否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数, 以便该类可以实例化。有关更多信息, 请参见静态类和静态类成员。通过将构造函数设置为私有构造函数, 可以阻止类被实例化, 如下所示: C# 复制代码 class NLog { // Private Constructor: private NLog() {} public static double e= ; //... } 有关更多信息,请参见私有构造函数。结构类型的构造函数与类的构造函数类似,但是 structs 不能包含显式默认构造函数, 因为编译器将自动提供一个构造函数。此构造函数将结构中的每个字段初始化为默认值表中显示的默认值。然而,只有当结构用 new 实例化时,才会调用此默认构造函数。例如,下面的代码使用 Int32 的默认构造函数, 因此您可以确信整数已初始化: 复制代码 int i= new int(); (i); 然而,下面的代码却导致了编译器错误 CS0165 ,因为它没有使用 new ,而且试图使用尚未初始化的对象: 复制代码 int i; (i); 基于 structs 的对象可以初始化或赋值后使用,如下所示: 复制代码 int a= 44; // Initialize the value type... int b; b= 33; // Or assign it before using it. ("{0}, {1}", a, b); 因此对值类型调用默认构造函数不是必需的。类和 structs 都可以定义具有参数的构造函数。带参数的构造函数必须通过 new 语句或 base
重写.重载.构造函数 来自淘豆网m.daumloan.com转载请标明出处.