亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學(xué)習(xí)啦>學(xué)習(xí)英語>專業(yè)英語>計(jì)算機(jī)英語>

      c中g(shù)et set的用法

      時間: 長思709 分享

        下面小編就跟你們詳細(xì)介紹下c中g(shù)et set的用法的用法,希望對你們有用。

        c中g(shù)et set的用法的用法如下:

        面向?qū)ο缶幊痰囊粋€規(guī)則是:使用戶只需要指定對象能做什么,而不需要去指定或者了解對象是如何完成該的。

        屬性是對象內(nèi)部的數(shù)據(jù),用戶如果能夠直接訪問對象內(nèi)部數(shù)據(jù),顯然就違反了上述規(guī)則。(這也有點(diǎn)類似Windows系統(tǒng)對內(nèi)存的保護(hù),可以通過API來操作,但不推薦直接訪問內(nèi)存,那樣就可能把內(nèi)存搞亂了。)

        通過get和set訪問器來訪問,就保持了這種規(guī)則,而且還提供了額外的功能,如對值進(jìn)行檢查,實(shí)現(xiàn)只讀或只寫屬性等。

        總的來說就是可以通過set get 來對類的屬性進(jìn)行封裝,面向?qū)ο蟮某绦蚴遣豢梢灾苯佑妙愖约憾x的屬性的

        剛剛學(xué)C#的時候,很多人都不明白屬性的訪問器有什么用呢,我上網(wǎng)見了不少的評論,拉下來給大家看看

        一般面向?qū)ο缶幊陶Z言都要求成員變量不能直接暴露給外部訪問,如下:

        public class A

        {

        public int Age; //這是不好的,待會有程序員可能把-1賦給Age

        }

        為了防止亂賦值,C#設(shè)計(jì)了一個屬性機(jī)制,要求把成員變量設(shè)為私有,在通過屬性來控制成員變量的讀寫,如下:

        public class B

        {

        private int age; //私有成員變量

        public int Age //age的屬性

        {

        get{ return age; } //讀取器

        set{ //寫入器

        if(value>0)

        age = value; //value是準(zhǔn)備寫入的值

        }

        }

        }

        這樣Age就像保安一樣,擋在age的前面。訪問age的時候需要通過Age許可,如下:

        B b = new B();

        b.Age = -1; //這是不行的,-1被帶入value,value<0,判斷不成立

        b.Age = 10; //這是可行的 如果還有不懂的話可以留言,我盡量教會你,下面是我一個簡單是例子//-------------------------------------------------------------------------------------using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication2{ public class Myclass{ private string id=""; private string name=""; public string ID { get { return id; } set { id =value; } } public string Name { get { return name; } set { name =value; } } } class Program { static void Main(string[] args) { Myclass clazz = new Myclass (); clazz.ID ="我愛你阿"; clazz.Name="王素瑩"; Console.WriteLine("{0}他是誰?{1}",clazz.ID,clazz.Name); Console.ReadLine(); } } }

      537173