中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中的類:字段、屬性、方法

發布時間:2020-06-26 00:01:46 來源:網絡 閱讀:930 作者:mista 欄目:編程語言

C++的類中可以有三種內容:成員變量、成員函數和友元。

一般來說,成員變量描述類的屬性,成員函數描述類的操作,友元則是一種特殊的聲明,被聲明為友元的函數或類可以操作自己的私有成員變量和成員方法。


在Java中,類的成員有兩類:屬性,相當于C++的成員變量;方法,相當于C++的成員函數。


而在C#中,類的成員有四種:字段、屬性、方法和事件(事件還沒學到,暫緩解釋C#中的類:字段、屬性、方法)。

字段相當于C++中的成員變量和Java中的屬性,就是在類中定義的變量(可以是基本類型或引用類型),一般來說,字段都被定義為私有。

方法相當于C++中的成員函數和Java中的方法,也就是在類里面定義的函數。


新的東西之一:屬性

先用Java來說,Java中,因為類的屬性一般定義為私有,在類的外部不能被操作,所以必須提供相應的函數來設置或獲取私有屬性的值。一般來說,設置屬性值的方法以set開頭,獲取屬性值的方法以get開頭。

雖然在C#中也可以用同樣的方法來操作私有字段,不過C#中提供了一種新的特性來達到這一目的,這就是屬性。

首先來看屬性的定義:

訪問修飾符 類型 屬性名

{

    get

    {

        代碼段

    }

    set

    {

        代碼段

    }

}

從形式上看,屬性的定義很像方法的定義,只是沒有參數而已。

再來看屬性的使用,使用屬性時很像是使用共有字段。

可以給屬性賦值,也可以直接使用屬性的值。例如:

class MyClass
{
    public int MyInt    //名為MyInt的公有屬性
    {
        get
        {
            //代碼段
        }
        set
        {
            //代碼段
        }
    }
}

在程序中,可以這樣來使用該屬性

MyClass c = new MyClass();
c.MyInt = 100;    //
Console.WriteLine(c.MyInt);

是不是很像使用字段呢。

其實在給屬性賦值的時候是調用了屬性的set塊;而獲取屬性值的時候是調用了屬性的get塊。所以在屬性的get塊中需要有一個return語句,來返回特定的值,比如return一個私有字段的值。

當給屬性賦值的時候,會調用屬性的set塊,一般在set塊中,我們會將賦給屬性的值再賦給某個特定的私有字段。那么,賦給屬性的值存在什么地方呢?答案是存儲在一個叫value的東西里面(固定寫法,而且value是關鍵字),所以在set塊中,一般是將value賦給某個字段。

例如:

class MyClass
{
    private int myInt;
    public int MyInt
    {
        get
        {
            return myInt;
        }
        set
        {
            myInt = value;
        }
    }
}

// 在程序中使用屬性來操縱私有字段
MyInt = 100;
int m = MyInt + 1;

在屬性的get和set塊中,我們可以做更多的操作,如:檢查范圍,格式轉換等。


屬性可以是public的、private的、protected的,也可以是virtual的、override的、abstract的。

屬性的get和set塊也可是是public的、protected的、private的或者默認的。

get和set塊可以兩個都有,也可以只有一個,但至少要有一個。


在類的內部使用屬性時,和使用字段是一樣的。

get塊和set塊又叫訪問器,訪問器的可訪問性不可高于屬性。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰坪| 辽阳县| 河间市| 双辽市| 金昌市| 嘉峪关市| 仪征市| 浪卡子县| 响水县| 六安市| 文山县| 尼玛县| 江源县| 临漳县| 辽阳县| 延吉市| 牙克石市| 奉贤区| 巴彦县| 同江市| 靖州| 九龙坡区| 利辛县| 环江| 郓城县| 梁山县| 昌黎县| 加查县| 鹰潭市| 台东市| 大石桥市| 砚山县| 平山县| 株洲市| 吕梁市| 泸溪县| 富川| 南郑县| 交城县| 隆尧县| 额济纳旗|