构造函数的用法学习笔记:
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
{
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
{
MyClass.Hello();
MyClass ms = new MyClass();
RL();
}
}
--=阅读快乐=--
欢迎访问我的新鱼塘 www.pumaboyd.com