现在的位置: 首页 > 综合 > 正文

C#:方法重载、构造函数、重载构造函数小结

2012年08月28日 ⁄ 综合 ⁄ 共 1225字 ⁄ 字号 评论关闭


方法重载

可以使同一功能适用于各种类型的数据,它是声明两个以上的同名方法,实现对不同数据类型进行相同的处理

方法重载的要求

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就可以了。

虚方法

声明与基类同名的派生类方法

Public new 方法名称(参数列表){}

声明虚方法

         基类中声明格式

                   Publicvirtual方法名称(参数列表){}

         派生类中声明格式

                   Publicoverride方法名称(参数列表){}

调用基类方法

在派生类中声明一基类同名的方法,也叫方法重载。在派生类重载基类方法后,如果像调用基类的同名方法,使用base关键字。

 

声明抽象类和抽象方法

Public abstractclasse 类名称

{public abstract 返回类型方法名称(参数列表);}

重载抽象方法

Public override 返回类型 方法名称(参数列表)

抱歉!评论已关闭.