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

      學習啦 > 學習英語 > 專業(yè)英語 > 計算機英語 > c語言中get的用法

      c語言中get的用法

      時間: 長思709 分享

      c語言中get的用法

        面向對象編程的一個規(guī)則是:使用戶只需要指定對象能做什么,而不需要去指定或者了解對象是如何完成該的。 下面小編就跟你們詳細介紹下c語言中get的用法,希望對你們有用。

        c語言中get的用法如下:

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

        總的來說就是可以通過set get 來對類的屬性進行封裝,面向對象的程序是不可以直接用類自己定義的屬性的

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

        一般面向對象編程語言都要求成員變量不能直接暴露給外部訪問,如下:

        public class A

        {

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

        }

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

        public class B

        {

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

        public int Age //age的屬性

        {

        get{ return age; } //讀取器

        set{ //寫入器

        if(value>0)

        age = value; //value是準備寫入的值

        }

        }

        }

        這樣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();

        }

        }

        }

      522956