【c#学习笔记三】构造函数的重载

方法重载

可以使同一功能适用于各种类型的数据,它是声明两个以上的同名方法,实现对不同数据类型进行相同的处理
方法重载的要求
1、  重载的方法名称必须相同
2、  重载的方法,其形参个数或类型必须不同
如我们定义了swap(ref int a,ref intb)该函数用来实现两个整形变量值的交换,但不会处理浮点型数据,我们在定义一个swap(ref flot a,ref flot b),这样swap这个方法可以实现整形变量值的交换,也可以实现浮点型数据交换了(系统会根据数据的类型自己决定调用合适的方法)

构造函数
主要作用是在创建对象(声明对象)时初始化对象。一个类定义必须至少有一个构造函数,如果定义类时,没有声明构造函数,系统会提供一个默认的构造函数。举个例子或许可以更好的理解它:
结果是:
若想在创建对象时,将对象数据成员设定为指定的值,则要专门声明构造函数。
声明构造函数的要求:
1、  构造函数不允许有返回类型
2、  构造函数名称必须与类同名。
通常构造函数是为了在创建对象时对数据成员初始化,所以构造函数需要使用形参。
public Student(string ID,int Age)
{
         id=ID;
         age=Age;
}
由于上述构造函数带了参数,系统不会提供默认构造函数,所以在创建对象时,必须按照声明的构造函数的参数要求给出实际参数。
Student s1= new Student(“90090”,22);
New关键字后面实际是对构造函数的调用。
如果声明构造函数时使用的参数名称和类数据成员名称相同,那么构造函数中使用的类数据成员名称要有this引导
Public student(string id,int age)
{
         This.id=id;
         This.age=age;
}
关键字this指的是创建的对象,是声明对象时,由系统自动传递给构造函数的对象的引用形参。

重载构造函数
构造函数和方法一样都可以重载。重载构造函数的主要目的是为了给创建对象提供更大的灵活性,以满足创建对象时的不同需要。
如上面的例子,如果只想改变age则重载构造函数Student只需要有一个参数age就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注