单例模式(自己写的,没有技术含量,跟我一样的菜鸟看吧)

来源:互联网 发布:交通大学网络教育好吗 编辑:程序博客网 时间:2024/04/27 22:00

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


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

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

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

原创粉丝点击