单例模式

it2026-09-21  13

namespace ConsoleApplication1 { public class SimpleDemo {

               //public string name;               //public static SimpleDemo instance;               // public SimpleDemo(string _n)               // {               // instance = this;               // name = _n;               // }               // public void Show()               // {               // Console.WriteLine(instance.name);               // }

//static 被静态修饰的变量,在内存中只有一份 public static SimpleDemo instance; public static SimpleDemo Getinstance(string n) { if (instance == null) { instance = new SimpleDemo(); instance.name = n;//因为instance是SimpleDemo的实例,所以name是可以调出来的 } return instance; } //..其他的还可以写其他的属性字段 public string name; } class Program { static void Main(string[] args) { SimpleDemo s6 = SimpleDemo.Getinstance("s6"); Console.WriteLine(s6.name); SimpleDemo s2 = SimpleDemo.Getinstance("s2"); Console.WriteLine(s2.name); //输出的结果都是s6,因为在开始运行到s6的时候,instance是未创建的,是空的;所以会创建一个新的实例, //等到第二次去运行s2的时候,instance已经创建完成了,直接返回的还是s6的实例, //无论创建多少的SimpleDemo的实例,返回的都是同一个值 //用处:思考了一下,感觉和修饰词Const一样,修饰了那个词,那个词的值就定了;只不过这里是可以让一个对象的值定了。 // 比如,超市一类物品属性值固定,就给这一类写个单例模式; //单例模式,单例模式,就是这个类被实例化了一次,所有的属性就定了;不管你再实例化多少,结果还是同样的, //实例再多还是"单例"

                          //SimpleDemo s1 = new SimpleDemo("4");                          //SimpleDemo s2 = new SimpleDemo("2");                          //s1.Show();//这个是声明几个,会出现几个值,是特殊的单例模式                          //Console.ReadKey();

Console.ReadKey(); } } }

  

转载于:https://www.cnblogs.com/ZkbFighting/p/9590368.html

相关资源:数据结构—成绩单生成器
最新回复(0)