封装
封装是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问。
封装的步骤:
1.属性私有化
2.加入get ,set 方法
3.加入对属性的存取控制语句
封装的好处:
1.隐藏类的实现细节;
2.让使用者只能通过程序规定的方法来访问数据;
3.可以方便的加入存取控制语句,限制不合理操作。
public class Person
{
#region Fields
private string _name;
private bool? _sex;
#endregion
#region Constructors
public Person(string name)
: this(name, null) { }
public Person(string name, bool? sex)
{
this._name = name;
this._sex = sex;
}
#endregion
#region Properties
public string Name
{
get { return this._name; }
}
public bool? Sex
{
get { return this._sex; }
}
#endregion
#region Methods
private string GetSexName(bool? value)
{
string sexName = null;
switch (value)
{
case null:
sexName = "undefined";
break;
case true:
sexName = "male";
break;
case false:
sexName = "female";
break;
default:
break;
}
return sexName;
}
public void Speak(string words)
{
Console.WriteLine(string.Format("{0}({1}) says: {2}", this._name, this.GetSexName(this._sex), words));
}
#endregion
}
public: 所有对象都可以访问;
protected internal:同一个程序集内的对象,或者该类对象以及子类可访问;
internal:同一个程序集的对象可访问;
protected:该类对象以及其子类对象可访问;
private: 只有该类对象本身在对象内部可访问;