封裝的一般性
封裝快捷鍵:Ctrl+R+E
封裝的目的:

public修飾的屬性,不夠安全;private修飾的屬性,無(wú)法使用
所以,用到了封裝:
封裝就是 隱藏對(duì)象的信息,但要流出訪問(wèn)的接口
封裝代碼示例:
class Child
{
private string name;
private string sex;
public string Name //封裝的時(shí)候,要用public,保證類外能調(diào)用
{ //屬性什么類型,封裝的時(shí)候就用什么類型,
get //此處用string
{
return name; //屬性一般用小寫字母表示
} //但封裝的時(shí)候首字母大寫
set //封裝方法里面就一個(gè)get{return 屬性名稱} 和
{ //一個(gè)set{屬性名稱=value;}
name = value;
} //value是一個(gè)關(guān)鍵字
}
public string Sex
{
get
{
return sex;
}
set
{
sex = value;
}
}
public void play() {
Console.WriteLine("I'm playing football!");
}
}
主函數(shù)調(diào)用:
class Program
{
static void Main(string[] args)
{
Child c = new Child(); //首先創(chuàng)建 一個(gè) 對(duì)象
c.Name = "xiaoming"; //賦值時(shí) 對(duì)象名.封裝方法名
c.Sex = "男";
Console.WriteLine(c.Name); //引用時(shí) 對(duì)象名.封裝方法名
Console.WriteLine(c.Sex);
c.play();
}
}
封裝和方法不同,不需要形參
不管是給屬性賦值還是引用屬性的值,只需要調(diào)用封裝函數(shù)就行
如若封裝過(guò)程中出錯(cuò),編輯器會(huì)自動(dòng)報(bào)錯(cuò),只需要根據(jù)錯(cuò)誤修改即可
通過(guò)set塊約束屬性賦值
有時(shí)候因?yàn)槟承┰?,給屬性賦的值不符合實(shí)際情況,如:不能給一個(gè)小孩賦值60歲
通過(guò)set塊約束,無(wú)非是在set里加一個(gè)條件判斷語(yǔ)句
set
{
if (value>=3&&value<=7)
{
age = value;
}
}
結(jié)構(gòu)與類

結(jié)構(gòu)與類區(qū)別