∈鱼杆 ---我的鱼塘

执着,坚定,友爱,勇敢(www.pumaboyd.com)Live Message

导航

构造函数的用法学习笔记

Posted on 2006-09-18 16:50  ∈鱼杆  阅读(534)  评论(0编辑  收藏  举报

构造函数的用法学习笔记:

l         公共(public)构造函数

C#实例形式:

Class MyClass()

{

       Public MyClass(){}

}

l         私有(private)构造函数

如果一个类有一个或多个私有构造函数而没有公共构造函数,则不允许其他类创建该类的实例。一般情况下类默认有一个公共的构造函数,如果希望类不能被其他类实例化,可以声明空构造函数来阻止自动生产默认构造函数。私有构造函数一般应用于单件模式(Singleton)中。

Class MyClass

{

       Private MyClass(){}

       Private MyClass _objMyClass;

       Public MyClass Instance()

       {

              If(_objMyClass ==null){_objMyClass = new MyClass()}

              Return _objMyClass;

}

}

l         保护(protected)构造函数

受保护的构造函数使类可以被子类实例化。而其他非子类的类不可以创建该类的实例。

ATest Test的子类。Test类无法使用Test objNews = New Test() 来实例化(无法通过编译)

 

public class MyClass

{

    public static void Main()

    {

       ATest obj = new ATest();

       RL();

    }

}

public class Test

{

    protected Test()

    {

     MyClass.WL("This is protected");

    }

}

 

public class ATest:Test

{

    public ATest()

    {

     MyClass.WL("This is ATest");

    }

}

l         静态(static)构造函数:

静态构造函数用来初始化类。在创建第1个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。静态构造函数即没有访问修饰符,也没有参数。

 

using System;

using System.Collections;

 

public class MyClass

{

   

    public MyClass()

    {

       System.Console.WriteLine("New Instance Created");

    }

   

    static MyClass()

    {

       System.Console.WriteLine("Static Instance Created");

    }

   

    public static void Hello()

    {

       WL("Hellow");

    }

   

    public static void Main()

    {

       MyClass.Hello();

       MyClass ms = new MyClass();

       RL();

    }

   

   

}