关闭

定义一个单例模式的类,在这个类中,只有唯一的实例,不能new出来其他的实例对象。

1269人阅读 评论(0) 收藏 举报

using System;

 

namespace MySingleton

{

        class Class1

        {

                [STAThread]

                static void Main(string[] args)

                {

                        SingleObject a =SingleObject.GetInstance();

            a.m_data = "123";

            a.Disp();

            SingleObject b =SingleObject.GetInstance();

            b.m_data = "456";

            b.Disp();

 

            Console.WriteLine();

            a.Disp();

 

                }

        }

// 单例模式

    class SingleObject

    {

        // 将构造函数私有化,使其无法产生新的实例

        private SingleObject()

        {

        }

        // 定义一个本类的真正实例成员,将其声明为静态的,也就是唯一对象。

        private static SingleObject m_Obj = new SingleObject();

        // 可以在对象中包含非静态成员

        public string m_data = "";

        // 使用下面方法返回这唯一一个实例对象

        public static SingleObject GetInstance()

        {

            return m_Obj;

        }

        // 可以包含非静态成员。

        public void Disp()

        {

            Console.WriteLine(m_data);

        }

    }

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:330341次
    • 积分:5822
    • 等级:
    • 排名:第4384名
    • 原创:248篇
    • 转载:19篇
    • 译文:0篇
    • 评论:38条
    最新评论