安忍不动如大地,静虑深思如秘藏
雄鹰虽然有时候飞的比鸡还低 但鸡永远也不可能飞到鹰的高度
构造函数并不一定都是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    }
posted on 2007-02-07 22:33  害羞的狮子王  阅读(546)  评论(0编辑  收藏  举报