特别的构造函数:构造函数的修饰
2007-02-07 22:40
239 查看
构造函数并不一定都是public的,以下的代码是不是另拟感到构造函数的奇特阿?
1
public class Class1//永远无法被实例化的类
2
{
3
//这个类没有可以被外部访问的构造函数
4
private Class1()
5
{
6
}
7
}
8
9
public class Class2//只可以在本程序内实例化的类
10
{
11
internal Class2()
12
{
13
}
14
}
15
16
public class Class3//只可以通过自身实例化的类
17
{
18
private Class3()
19
{
20
}
21
//private的构造函数可以被自身的方法调用,所以可以用Class3.CreateClass3()来创建实例
22
public static Class3 CreateClass3()
23
{
24
return new Class3();
25
}
26
}
27
28
public class Class4
29
{
30
//Class4不能被实例化,但又要求子类在继承时构造有参
31
protected Class4(int i)
32
{ }
33
34
}
35
36
public class Class4Sub : Class4
37
{
38
39
public Class4Sub(int i)
40
: base(i)
41
{
42
43
}
44
}
45
46
public class Class5//要求子类必须显示调用父类构造函数的
47
{
48
public Class5(int i)
49
{ }
50
}
51
52
public class Class5Sub : Class5
53
{
54
public Class5Sub()
55
: base(0)
56
{ }
57
public Class5Sub(int i)
58
: base(i)
59
{ }
60
}
1
public class Class1//永远无法被实例化的类
2
{
3
//这个类没有可以被外部访问的构造函数
4
private Class1()
5
{
6
}
7
}
8
9
public class Class2//只可以在本程序内实例化的类
10
{
11
internal Class2()
12
{
13
}
14
}
15
16
public class Class3//只可以通过自身实例化的类
17
{
18
private Class3()
19
{
20
}
21
//private的构造函数可以被自身的方法调用,所以可以用Class3.CreateClass3()来创建实例
22
public static Class3 CreateClass3()
23
{
24
return new Class3();
25
}
26
}
27
28
public class Class4
29
{
30
//Class4不能被实例化,但又要求子类在继承时构造有参
31
protected Class4(int i)
32
{ }
33
34
}
35
36
public class Class4Sub : Class4
37
{
38
39
public Class4Sub(int i)
40
: base(i)
41
{
42
43
}
44
}
45
46
public class Class5//要求子类必须显示调用父类构造函数的
47
{
48
public Class5(int i)
49
{ }
50
}
51
52
public class Class5Sub : Class5
53
{
54
public Class5Sub()
55
: base(0)
56
{ }
57
public Class5Sub(int i)
58
: base(i)
59
{ }
60
}
相关文章推荐
- 特别的构造函数:构造函数的修饰
- 特别的构造函数:构造函数的修饰
- 特别的构造函数:构造函数的修饰
- C++修饰构造函数的explicit关键字
- 构造函数被explicit修饰
- c++ ,protected 和 private修饰的构造函数
- C# 图片的转换,一个简单的实例,没有特别的修饰,涉及线程
- 关键字explicit修饰构造函数
- 第7天 构造函数、this关键字、静态修饰符static
- 构造函数为何不能用abstract, static, final修饰
- explicit C++关键字的使用 修饰的构造函数必须被显式调用
- 构造函数为何不能用abstract, static, final修饰
- C++中什么情况下要用explicit关键字修饰构造函数?
- [转]构造函数为什么不能被abstract/static/final/native/stricftp/synchronized修饰 及 一些关键字的用法
- explicit修饰构造函数
- C++修饰构造函数的explicit关键字
- C++中构造函数、static修饰函数、内联函数、友元函数不能是虚函数
- explicit修饰构造函数
- C++ 中的关键字-------explicit 修饰构造函数
- Qt类构造函数中explicit修饰符的作用?