单例模式

来源:互联网 发布:linux arp高速缓存表 编辑:程序博客网 时间:2024/06/04 18:47

 

 

所谓单例模式就是:只能实例化一个对象。

建一个类叫China 它只有一个首都Capital 符合单例模式的要求

 

实现单例模式的步骤:

1:要把构造函数的访问级别设置为private,因为实例化的对象的本质是调用类的构造函数,所以要把构造函数的的访问级别设置为私有的

2:设置一个访问器来让外界调用,就像定义普通的属性一样

 

// 创建一个China类

class China
    {

      // 定义一个访问器

        private static China instance = new China();

        public static China getInstance
        {
            get
            {
                return instance;
            }
        }

        /// <summary>
        /// 定义为私有的构造函数
        /// </summary>
        private China()
        {
         
        }

        private string _capital;

        public string Capital
        {
            get{return _capital;}
            set { _capital = value; }
        }
    }

 

 // 实例化对象的方法
        public static void get()
        {       
            // 实例化对象 即使实例化再多对象,实质还是一个instance
            China china = China.getInstance;
            China china2 = China.getInstance;

            // 证明一下是同一个对象
            // 结果为true,说明是同一个对象,就实现了单例模式
            Console.WriteLine(object.ReferenceEquals(china, china2));

            // 这样调用会报错,提示是受保护级别限制
            // China china3 = new China();
        }

 

 

原创粉丝点击