• 特别的构造函数:构造函数的修饰


    构造函数并不一定都是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    }
  • 相关阅读:
    PHPCMS快速建站系列之添加单页模版
    func_num_args(),func_get_arg(),func_get_args()
    34 个使用 Raspberry Pi 的酷创意
    解决sublime text 2总是在新窗口中打开文件
    帝国cms后台不停的登录成功
    PHP正则表达式的逆向引用与子模式 php preg_replace应用
    【采集】php str_replace
    如何设置让SFTP的用户限制在某个目录下
    win2008修改最大远程桌面连接数
    mysql查询差集
  • 原文地址:https://www.cnblogs.com/shyleoking/p/644089.html
Copyright © 2020-2023  润新知