首页 > 代码库 > 单例模式
单例模式
namespace 单例模式
{
class Student
{
int id;
string name;
//1
private Student()
{
}
//2
private static Student instance = new Student();
//3
public static Student Instance()
{
return instance;
}
public int Id
{
get { return id; }
set { id = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public void AttendClass()
{
Console.WriteLine("上课");
}
}
class Student2
{
int id;
string name;
//2
private static Student2 instance ;
//1
private Student2()
{
}
//3
public static Student2 Instance()
{
if (instance == null)
{
instance = new Student2();
}
return instance;
}
public int Id
{
get { return id; }
set { id = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public void AttendClass()
{
Console.WriteLine("上课");
}
}
}
namespace 单例模式
{
class Program
{
static void Main(string[] args)
{
//Student zs = new Student();
//Student ls = new Student();
//bool b=zs.GetHashCode() == ls.GetHashCode();
Student zs = Student.Instance();
Student ls = Student.Instance();
bool b = zs.GetHashCode() == ls.GetHashCode();
Student2 zs2 = Student2.Instance();
Student2 ls2 = Student2.Instance();
b = zs2.GetHashCode() == ls2.GetHashCode();
}
}
}