您的位置:首页 > 编程语言 > C#

C#之构造方法

2016-02-24 20:23 453 查看

定义

构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。

分类

无参构造方法

没有参数的构造方法称为默认构造方法,使用new表达式创建某个类的对象时,会使用无参构造函数创建和初始化所有实例成员变量。

public class ProgramTest
    {
        int j;
        public ProgramTest()
        {
            j = 4;
            Console.WriteLine("I am ProgramTest,{0}", j);
        }
        static void Main(string[] args)
        {
            ProgramTest pt = new ProgramTest();
            Console.Read();
        }

 结果为:I am ProgramTest,4

当我实例化类ProgramTest时,就会执行实例构造函数。如果某个类没有构造函数,则会自动生成一个默认构造函数,并使用默认值来初始化对象字段。

有参构造方法

构造方法可以被重载。与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。

对比:

public class ProgramTest
    {
        int j;
        public ProgramTest()
        {
            j = 3;
            Console.WriteLine("I am ProgramTest 默认构造函数,j={0}", j);
        }
        public ProgramTest(int i)
        {
            j = 2;
            Console.WriteLine("I am ProgramTest 有参构造函数,i={0},j={1}",i, j);
        }
        static void Main(string[] args)
        {
            ProgramTest pt1 = new ProgramTest();
            ProgramTest pt2 = new ProgramTest(1);
            Console.Read();
        }

 
结果为:I am ProgramTest 默认构造函数 j=3
       I am ProgramTest 有参构造函数 i=1,j=2


特点

(1)构造函数的名字必须与类同名;

(2)构造函数没有返回类型,它可以带参数,也可以不带参数;

(3)声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;

(4)构造函数可以重载,从而提供初始化类对象的不同方法;

(5)若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空.

与方法的区别

<span style="font-family:KaiTi_GB2312;font-size:18px;">class test</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">{
private int x,y;
public test()
{
//这里可以写相应的初始化代码,可以不写
}
public test(int a)
{
y=a;
}
test t1=new test()//这个就会调用没有带参数的那个
test t2=new test (3)//这样的话,y就初始化为3了
} </span>


【总结】

在一开始看到构造函数的时候觉得也没什么,等症的取用的时候才发现构造函数原来是这麽有内涵的东西,本着“知其然更要知其所以然”的态度,把构造函数的知识查了查真是收获很大呀。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: