封裝的一般性
封裝快捷鍵:Ctrl+R+E
封裝的目的:
public修飾的屬性,不夠安全;private修飾的屬性,無法使用
所以,用到了封裝:
封裝就是 隱藏對象的信息,但要流出訪問的接口
封裝代碼示例:
class Child { private string name; private string sex; public string Name //封裝的時候,要用public,保證類外能調用 { //屬性什么類型,封裝的時候就用什么類型, get //此處用string { return name; //屬性一般用小寫字母表示 } //但封裝的時候首字母大寫 set //封裝方法里面就一個get{return 屬性名稱} 和 { //一個set{屬性名稱=value;} name = value; } //value是一個關鍵字 } public string Sex { get { return sex; } set { sex = value; } } public void play() { Console.WriteLine("I'm playing football!"); } }
主函數調用:
class Program { static void Main(string[] args) { Child c = new Child(); //首先創建 一個 對象 c.Name = "xiaoming"; //賦值時 對象名.封裝方法名 c.Sex = "男"; Console.WriteLine(c.Name); //引用時 對象名.封裝方法名 Console.WriteLine(c.Sex); c.play(); } }
封裝和方法不同,不需要形參
不管是給屬性賦值還是引用屬性的值,只需要調用封裝函數就行
如若封裝過程中出錯,編輯器會自動報錯,只需要根據報錯修改即可
通過set塊約束屬性賦值
有時候因為某些原因,給屬性賦的值不符合實際情況,如:不能給一個小孩賦值60歲
通過set塊約束,無非是在set里加一個條件判斷語句
set { if (value>=3&&value<=7) { age = value; } }