1,构造函数概念
构造函数是一种特殊的方法成员,构造函数的主要作用是是在创建对象时初始化对象。一个类定义必须至少有一个构造函数,如果定义类时,没有声明构造函数,系统会提供一个默认的构造函数,如,数值类型被初始化为0,字符类型被初始化为空格,字符串类型被初始化为null,逻辑类型被初始化为false等。
例如下面的程序:
class Program
{
class Student
{
public string id;
public string name;
public bool sex;
public int age;
}
static void Main(string[] args)
{
char sSex;
Student s1 = new Student();
if (s1.sex == true)
sSex = '男';
else
sSex = '女';
Console.WriteLine("学号:" + s1.id + "\n姓名:" + s1.name
+ "\n性别:" + sSex + "\n年龄:{0}", s1.age);
Console.ReadLine();
}
程序运行结果为:
2,声明构造函数
如果想在创建对象时,将对象的数据成员初始化为指定的值,需要专门声明构造函数。参考前面的Student类,创建一个带构造函数的类。
class Student
{
public string id;
public string name;
public bool sex;
public int age;
public Student(string ID, string nname, bool ssex, int aage)
{
id = ID;
name = nname;
sex = ssex;
age = aage;
}
此时在主函数中 Student s1 = new Student("1","tom","girl",21);括号里边不能为空,new字后面实际上是对构造函数的调用。
3,重载构造函数
构造函数与方法一样可以重载,重载构造函数的目的是为了给创建对象提供更大的灵活性,以满足创建对象时的不同需要。
例如前面的Student类,有时只需初始化姓名,不初始化其他值,则只需声明这样一个构造函数,代码如下:
public Student(string nname)
{
name = nname;
}
此时在主函数中 Student s1 = new Student("tom");
如果声明了带参数的构造函数后,还想保留默认构造函数,
需显式声明一个默认构造函数:public Student( ){ }
所以在类中可以写若干个构造函数,调用时调用对应的调用格式即可。
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ---------------------- 详细请查看: http://net.itheima.com/