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

原创 2006年06月15日 18:32:00

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);

        }

    }

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

单例模式--常用保证内存new 的对象唯一

package com.MrZhou.SingleTon; public class Test { /* * 什么是单例模式?单例模式的精髓主要在这个“单”字上,“单”就是一个, * 直...

单例模式你是我的唯一

  • 2015-08-21 15:44
  • 227KB
  • 下载

lua面向对象实现-类实例化对象、继承、多态、多继承、lua单例模式

lua面向对象实现: 一个类就像是一个创建对象的模具。有些面向对象语言提供了类的概念,在这些语言中每个对象都是某个特定类的实例。lua则没有类的概念,每个对象只能自定义行为和形态。不过,要在l...

python中7种实现单例模式的方法:staticmethod、classmethod、类属性方法、__new__、装饰器、元类、名字覆盖

python中7种实现单例模式的方法:staticmethod、classmethod、类属性方法、__new__、装饰器、元类、名字覆盖

设计模式之单例类——如何让一个类只实例化一个对象

这道题的思路是,我只让这个类通过一个公有函数实例化对象,即可以将构造函数设置为私有成员函数。include using namespace std;class Single { public: ...

php-单例模式实现mysql实例化对象

1.回顾     上篇学习了php一个实例:简单的文章管理系统 2.学习点     这篇将使用单例模式封装一个实现mysql的实例化对象类 3.实现类     3.1 配置文件 config.php ...

通过反射创建单例模式的另一个实例

单例模式是最常见的一个模式,在java中单例模式大量被使用。关于单例模式的实现场景可查看java单例模式。今天介绍如何利用反射来创建单例模式的另一个实例,以及枚举实现单例模式规避反射的原理。 一. ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)