一、设计模式之单例模式
1.概念理解
在一个类中,有若干个方法和属性以及该类的构造方法,这些方法可以设置访问权限,一般都是使用public公开这些方法和属性的访问权限,如果是一些方法或属性不想要让其他人访问,因此一般会提高访问权限,使用private、protect,但是如果使用这些访问权限,就又会造成这个类无法实例化,因此,单例模式出场了,单例模式就是将一个类中的方法或属性私有化保护起来以使其他人无法实例化该类,但又为了能够使用方法和属性允许被调用,所以在类中加入这个类的静态的方法。
2.案例分析
public class Animal //Animal类
{
private string name;//私有化的变量
private string age { get ; set ;}//私有化的属性
private static Animalanimal;//声明静态私有化的Animal类animal对象,用于在该类的静态方法中调用其它方法
privateAnimal()//私有化无参的构造方法
{
}
private Animal(stringname)//私有化有参构造方法
{
this.name=name;
}
public static Animal Create()//静态当前Animal类的Create方法,因为是静态方法,所以该方法内可以调用该类的属性和变量
{
if(animal == null)
{
animal = newAnimal("动物");//如果animal为空,便实例化该方法并给name赋值
Console.WriteLine(animal.age);//输出animal的age属性
}
return animal;
}
};
class Program
{
static void Main(string args[])
{
Animal animal =Animal.Create();//在主函数中成功调用了Animal类中的静态方法
}
}