91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

C#類和對象詳細介紹

發布時間:2021-09-17 20:27:39 來源:億速云 閱讀:149 作者:chen 欄目:開發技術

本篇內容主要講解“C#類和對象詳細介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#類和對象詳細介紹”吧!

目錄
  • 一、對象的定義和創建

  • 二、、對象的初始化

    • 1. 借助構造函數或使用

    • 2. 實例構造函數

    • 3. 靜態構造

  • 三、對象的引用

    一、對象的定義和創建

    定義類對象的方法為:

    類名 對象名;

    類是引用類型的,當定義了對象之后,系統會為數據引用分配存儲空間,但是用來保存對象的實際數據的空間并沒有分配。

    對象的創建

    創建對象時需要使用new運算符new運算符可以為任意指定類類型的實例分配并初始化內存。

    創建對象的語法形式如下: 對象名 = new類名();

    代碼示例,對象的定義和創建:

    class Program
    {
        static void Main(string[] args)
        {
            //對象的定義和創建
            Test t = new Test();
            
            //或者 先定義
            Test t1;
            // 使用時創建
            t1 = new Test();
        }
    }
    
    class Test
    {
        
    }

    行對象的創建時,需要注意:

    • new運算符后為要創建的對象所屬類的類名

    • 類名后的圓括號不能省略

    • 可以將對象的定義和創建合并在一起

    二、、對象的初始化

    C#中實現對象初始化的方式有兩種:

    1. 借助構造函數或使用

    2.  對象初始化列表。

    1. 借助構造函數或使用

    new運算表達式的圓括號中所帶參數并不是任意的,圓括號中是否支持參數、可以攜帶幾個參數是由對象所屬類的構造函數形式決定的。

    C#的類支持兩種構造函數:實例構造函數和靜態構造函數

    實例構造函數是實現初始化類實例所需操作的成員。

    靜態構造函數是一種用于在第一次加載類本身時實現其初始化所需操作的成員。

    C#類的靜態構造函數初始化類層次的項目。通常,靜態構造函數初始化類的靜態字段。

    類層次的項目初始化必須在任何靜態成員被引用之前,同時也必須在該類的所有對象創建之前。

    2. 實例構造函數

    實例構造函數是一個特殊的方法,它在創建類的每個新對象時執行,用以初始化對象的狀態。

    實例構造函數應該聲明為public

    下面是實例構造函數的一般定義形式:

    // 無參構造
    public 類名()
    {
        函數體
    }
    // 帶參構造
    public 類名(參數列表)
    {
        函數體
    }

    定義實例構造函數時需注意:

    • 實例構造函數可以帶有參數,也可以不帶參數,

    • 實例構造函數的參數設置決定了對象創建時new運算表達式中圓括號中的參數格式;

    • 實例構造函數可以重載。

    其他說明:

    • 當類的聲明中沒有顯式提供實例構造函數時,編譯器會提供一個隱式的默認構造函數。

    • 默認構造函數不帶參數,并且方法體為空。

    • 調用默認構造函數實現對象創建時,new運算表達式后的圓括號內不能帶有參數。

    3. 靜態構造

    靜態構造函數:

    • C#類的靜態構造函數初始化類層次的項目。

    • 通常,靜態構造函數初始化類的靜態字段。

    • 類層次的項目初始化必須在任何靜態成員被引用之前,同時也必須在該類的所有對象創建之前。

    使用靜態構造函數時,需注意:

    • 靜態構造函數只有一個,不能重載,并且不能帶參數;

    • 靜態構造函數不能有訪問修飾符,它由系統自動調用;

    • 類的靜態構造函數和實例構造函數可以共存;

    • 靜態構造函數不能訪問類的實例成員。

    代碼示例:

    class Program
    {
        static void Main(string[] args)
        {
            Test t = new Test();
            // 輸出: 0,0,1
            Console.WriteLine(t.X + "," + t.Y + "," + Test.Z)
    
            Test t1 = new Test(1, 2);
            // 輸出: 1,2,2
            Console.WriteLine(t1.X + "," + t1.Y + "," + Test.
                        
            Test t2 = new Test(3, 4);
            // 輸出: 3,4,3
            Console.WriteLine(t2.X + "," + t2.Y + "," + Test.
    
            Console.ReadLine();
        }
    }
    
    class Test
    {
       public int X = 0;
       public int Y = 0;
    
       public static int Z = 0;
    
        // 無參構造
        public Test() { Z++; }
    
        // 帶參構造
        public Test(int X, int Y)
        {
            this.X = X;
            this.Y = Y;
            Z++;
        }
    
        // 靜態構造 -- 初始化Z值
        static Test()
        {
            Z = 0;
        }
    }

    三、對象的引用

    對象成員的引用形式為:

    對象名.實例成員名
    // 或者
    對象名.實例成員名(實參列表)

    對象的運算同一類的兩個對象支持賦值、相等與不相等運算如下所示:

    Test t = new Test();
    Test t1 = new Test();
    
    // 輸出:false
    Console.WriteLine(t == t1);
    // 對象的賦值操作
    t = t1;
    // 輸出:true --> 此時t,t1表示為同一對象
    Console.WriteLine(t == t1);

    到此,相信大家對“C#類和對象詳細介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

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

    AI

    陇西县| 五峰| 闽侯县| 砚山县| 兴国县| 平邑县| 河北省| 丹棱县| 金平| 宿迁市| 宜城市| 榆中县| 赣榆县| 桐柏县| 绥德县| 定日县| 潮安县| 长岛县| 芦溪县| 诏安县| 海宁市| 房产| 山阴县| 龙南县| 交口县| 双城市| 宜兴市| 阿瓦提县| 东方市| 德钦县| 彭泽县| 新野县| 夹江县| 景德镇市| 陵水| 衡东县| 贞丰县| 镇巴县| 和平区| 呼和浩特市| 石台县|