现在的位置: 首页 > 综合 > 正文

自己写的单例,水平有限,只能写小例子,希望对跟我一样菜的人有一些帮助。

2013年08月23日 ⁄ 综合 ⁄ 共 1098字 ⁄ 字号 评论关闭

class Person
    {
        static Person p;
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private int age;

        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        private Person()
        { }
        public static Person GetPerson()
        {
            if (p==null)
            {
                p = new Person();
            }
            return p;
        }
    }



调用:

            Person p = Person.GetPerson();
            p.Name = "zhangsan";
            p.Age = 18;
            Console.WriteLine("对象现在的名字是:{0},年龄是{1}", p.Name, p.Age);
            Person per = Person.GetPerson();
            Console.WriteLine("对象现在的名字是:{0},年龄是{1}", per.Name, per.Age);
            per.Age = 20;
            per.Name = "lisi";
            Console.WriteLine("对象现在的名字是:{0},年龄是{1}", per.Name, per.Age);
            Console.WriteLine("对象现在的名字是:{0},年龄是{1}", p.Name, p.Age);
            Console.ReadLine();


输出结果自己复制进去看吧,呵呵。。。

单例模式就是把类的构造函数私有,然后在类里面设置静态私有字段(本类类型,就是自己类型)然后在类的一个静态方法中访问这个静态成员。。。

可怜我当初没接触单例之前,只知道概念,知道一个大概,然后面试的时候自己凭着自己的可以说是想象,写出一个,最后就差一个为空判断,当时没想出来,回去的车上我一拍大腿,我明白了。。。悲剧了。。。

抱歉!评论已关闭.