私有构造函数在设计模式中
using System;
namespace PriConstruct
{
class Program
{
static void Main(string[] args)
{
Person person = Person.GetInstance();//懒汉式单例模式,方法被调用时,才初始化
Console.WriteLine("类的实例的Name属性为:{0}", person.Name);
Console.Read();
}
}
public class Person
{
private string name;
public static Person person;
//通常是私有并静态的类对象,来限制继承类的访问。如果是公有属性,子类也可以继承这个对象
// private static Person person;
public string Name
{
get { return name; } }
private Person() //私有化该类构造函数
{ Console.WriteLine("PriConstruct 被调用");
this.name = "Learning Hard";// this是本类对象
}
//构造函数加了私有属性之后,只能为当前类所使用,加了public属性 可以被其他类使用
public static Person GetInstance()//定义公有方法,返回该对象
{
if (person == null)
{ person = new Person(); }
return person;
}
}
//让Son类继承Person,测试子类对Person的私有/公有并静态对象是否有访问
// public class Son :public Person
// {
Console.WriteLine("子类可以访问{0}",person.name);
// }
}