c#方法重载构造函数重载构造函数小结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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就可以了。
虚方法
声明与基类同名的派生类方法
Public new 方法名称(参数列表){}
声明虚方法
基类中声明格式
Publicvirtual方法名称(参数列表){}派生类中声明格式
Publicoverride方法名称(参数列表){}
调用基类方法
在派生类中声明一基类同名的方法,也叫方法重载。在派生类重载基类方法后,如果像调用基类的同名方法,使用base 关键字。
声明抽象类和抽象方法
Public abstractclasse 类名称
{public abstract 返回类型方法名称(参数列表);}重载抽象方法
Public override 返回类型方法名称(参数列表)