单例模式(自己写的,没有技术含量,跟我一样的菜鸟看吧)
2010-08-27 15:33
309 查看
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();
输出结果自己复制进去看吧,呵呵。。。
单例模式就是把类的构造函数私有,然后在类里面设置静态私有字段(本类类型,就是自己类型)然后在类的一个静态方法中访问这个静态成员。。。
可怜我当初没接触单例之前,只知道概念,知道一个大概,然后面试的时候自己凭着自己的可以说是想象,写出一个,最后就差一个为空判断,当时没想出来,回去的车上我一拍大腿,我明白了。。。悲剧了。。。
{
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();
输出结果自己复制进去看吧,呵呵。。。
单例模式就是把类的构造函数私有,然后在类里面设置静态私有字段(本类类型,就是自己类型)然后在类的一个静态方法中访问这个静态成员。。。
可怜我当初没接触单例之前,只知道概念,知道一个大概,然后面试的时候自己凭着自己的可以说是想象,写出一个,最后就差一个为空判断,当时没想出来,回去的车上我一拍大腿,我明白了。。。悲剧了。。。
相关文章推荐
- 如果你发现了自己的学习模式,愿意学并且能坚持,我觉得没什么能阻挡你征服软件世界的脚步(对于开发人员来讲,最大的风险是:在职业规划上没有延续性地乱跳槽。时刻要牢记在心的:培养自己的稀缺性),安晓辉大神的感悟 good
- 作为开篇,就先塞个自己写的东西,XP扫雷小外挂,没什么技术含量
- 常用的代码收集,没有任何技术含量,只是填坑的积累
- 防采集 - 最看不起采集,一点技术含量都没有!
- 一个密码输入控件,能防止大多数查看*号密码内容的软件取密码(VB编写,也没有什么技术含量)
- 常用的代码收集,没有任何技术含量,只是填坑的积累
- 抄袭不写出处,最讨厌你们这些没有技术含量的人了...
- (转)李明博:我的12年等于24年 快速提升的秘诀是什么 别人以为我早起是先天的,事实靠的是努力 训练,除了反复的努力之外没有什么别的秘诀 像企业主一样去思考,一样查找问题,一同去解决它,并且还要制定出比企业主要求更高的目标。李明博像我一样,不,他比我更把公司当成自己的
- 菜鸟程序员如何才能快速提高自己的技术
- IaaS没有什么技术含量
- 自己看的(没什么技术含量)
- 自己写的一个TSP算法,算法思想没有参考任何人(当然可能一样的)
- 菜鸟程序员如何才能快速提高自己的技术
- 鄙视瑞星,没有技术含量,就别出来混
- .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- 防采集 - 最看不起采集,一点技术含量都没有!
- 史上最没有技术含量的毕业设计
- 菜鸟程序员怎么才能提高自己的技术--(献给自己共勉)
- 转 .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- 管理一个项目团队的问题就是要实现以十当一,而不是以一当十!世界上没有任何两个人是完全相同的,任何人管理自己的方式也没有完全一样的。因而以一当十的英雄式的工作方式不难实现,难的是把这些能以一当十的英雄聚到一起,变成以十当一的团队工作方式