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();
輸出結果自己複製進去看吧,呵呵。。。
單例模式就是把類的建構函式私人,然後在類裡面設定靜態私人欄位(本類類型,就是自己類型)然後在類的一個靜態方法中訪問這個靜態成員。。。
可憐我當初沒接觸單例之前,只知道概念,知道一個大概,然後面試的時候自己憑著自己的可以說是想象,寫出一個,最後就差一個為空白判斷,當時沒想出來,回去的車上我一拍大腿,我明白了。。。悲劇了。。。