zoukankan      html  css  js  c++  java
  • 单例模式

    单例模式就是确保一个类只有一个实例,并且该实例必须自动创建,并向整个系统提供该实例。

    实现原理:(1)将构造函数定义成私有或者受保护,使得不能通过构造函数来创建对象;(2)定义一个静态的方法提供公共接口,用于访问维一的实例。

    单例模式特征:(1)任何时刻单例类只能有一个实例;(2)单例类自己创建这个唯一的实例;(3)单例类必须给所有其他对象提供这个实例。

    class Single
            {
                static Single single;
                public static Single Default()
                {
                    if (single == null)
                    {
                        return single = new Single();
                    }
                    else
                    {
                        return single;
                    }
                }
    给这个类加个属性
     class Single
            {
                private Single()
                {
                    num = 10;
                }
                static Single single;
                public static Single Default()
                {
                    if (single == null)
                    {
                        return single = new Single();
                    }
                    else
                    {
                        return single;
                    }
                }
            public int num;
            }
    再主程序
    Single s1 = Single.Default();
                Console.WriteLine(s1.num);
                s1.num = 100;
                Single s2 = Single.Default();
                Console.WriteLine(s2.num);
                Console.ReadKey();
    image
    image
     

    s1,s2都是返回同样一个实例,堆栈中存储地址也一样,当s1.num改变,所以s2.num也跟着改变

  • 相关阅读:
    Laravel5.1 响应--Response
    Laravel5.1 请求--Request
    Laravel5.1 控制器--Controller
    Laravel5.1 模型--查询作用域
    Laravel5.1 模型--删除
    VMware Workstation错误Transport(VMDB)error -44:Message
    如何给flash里面添加链接
    巧用:empty解决webkit核心浏览器text-indent的bug
    form radio & checkbox解决方案
    字符串的第几个
  • 原文地址:https://www.cnblogs.com/automation/p/2870001.html
Copyright © 2011-2022 走看看