C#中屬性的封裝



封裝的一般性

封裝快捷鍵: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ū)別
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容