C#中屬性的封裝


封裝的一般性

封裝快捷鍵: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;
                }

            }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM