C#中的参数化构造函数

正如我们已经讨论过的那样,默认构造函数用于使用默认值初始化类的数据成员,并且默认构造函数不需要任何参数,因此它们称为零或不带参数构造函数。

但是,如果我们想在运行时通过传递值来创建对象时初始化类的数据成员,即当我们想通过传递一些参数来初始化数据成员时,可以使用参数化构造函数。

参数化构造函数是方法的一种特殊类型,它与类同名,并通过给定的参数初始化数据成员。

考虑示例:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

//类定义

class Student

{

//私有数据成员 

private int     rollno  ;

private string  name    ;

private int     age     ;

//默认构造函数 

public Student()

{

//使用默认值初始化数据成员

rollno  = 101       ;

name    = "Herry"   ;

age     = 12;

}

//参数化构造函数 

public Student(string name, int rollno, int age) 

{

//用传递的参数初始化数据成员 

this.rollno = rollno  ;

this.age  = age;

this.name = name;

}

//设置值的方法 

public void setInfo(string name, int rollno, int age) 

{

this.rollno = rollno  ;

this.age  = age;

this.name = name;

}

//显示值的方法

public void printInfo()

{

Console.WriteLine("Student Record: ");

Console.WriteLine("\tName     : " + name  );

Console.WriteLine("\tRollNo   : " + rollno);

Console.WriteLine("\tAge      : " + age   );

}

}

//主类,我们在其中编写主方法

class Program

{

//主要方法

static void Main()

{

//创建学生班的对象

Student S1 = new Student();

//打印通过初始化的值 

//默认构造函数 

S1.printInfo();

//创建另一个对象 

Student S2 = new Student("George", 102, 13);

//打印由参数化构造函数定义的值

S2.printInfo();

}

}

}

输出结果

Student Record:

        Name     : Herry

        RollNo   : 101

        Age      : 12

Student Record:

        Name     : George

        RollNo   : 102

        Age      : 13

这里,对象S1的成员将通过默认构造函数进行初始化,默认值为:

Name : "Herry"

RollNo: 101

Age : 12

并且,对象S2的成员将通过参数化构造函数进行初始化,默认值为:

Name : "George"

RollNo: 102

Age : 13

以上是 C#中的参数化构造函数 的全部内容, 来源链接: utcz.com/z/354227.html

回到顶部