Asp.Net 设计模式 之 “特殊”的单例模式

  • 特殊的单例模式

要点在这里,提前预览:

public SingleDemo() {
name = "yy";
age = 20;
//特殊的单例,this指代得失当前的SingleDemo
//将单例变量初始化
instance = this;
}

  • 源码部分:
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace SingleCaseModel
 8 {
 9     class SingleDemo {
10         public static SingleDemo instance;
11         public string name;
12         public int age;
13         //可以是无参构造函数
14         public SingleDemo() {
15             name = "yy";
16             age = 20;
17             //特殊的单例,this指代得失当前的SingleDemo
18             //将单例变量初始化
19             instance = this;
20         }
21         //也可以写成有参构造函数
22         public SingleDemo(string n,int a) {
23             name = n;
24             age = a;
25             //将单例变量初始化
26             instance = this;
27         }
28     }
29     class Program
30     {
31         static void Main(string[] args)
32         {
33             //调用无参构造函数,实例化SingleDemo这个类,使this关键字初始化,并能够调用构造函数
34             //instance=sd
35             //注意:SingleDemo sd = new SingleDemo();只能实例化一次,不能实例多个,
36             //否则将以最后实力的一个为基础来进行使用
37             SingleDemo sd = new SingleDemo();
38             Console.WriteLine(SingleDemo.instance.name);
39             //写成如下方式也可以,只是如果是在另外的其他页面进行调用单例模式的话,要写成上面这种
40             //Console.WriteLine(sd.name);
41             Console.ReadKey();
42         }
43     }
44 }

 

转载于:https://www.cnblogs.com/pang951189/p/7801986.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值