PS:注释和讲解全在代码中
单例设计模式其实就是一个经典问题:如何设计只能有一个实例化的对象的类
//其实C++也是用的基本一模一样的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C4_程序设计
{
class Text
{
private static Text you;
private Text() { } //将构造函数私有化,这样你就不能用一般方法实例化了
public static Text Create()
{
if (you == null)
you = new Text();
return you;
}
public double val = 5;
}
class 单例设计模式
{
private static void Main()
{
//Text me = new Text(); //错误,构造函数不可访问
Text me = Text.Create();
Console.WriteLine(me.val); //5
Text p = Text.Create(); //其实这样做是没有意义的,因为p和me根本就是同一个东西
me.val = 100;
Console.WriteLine(p.val); //100
}
}
}