欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

【C#基礎(chǔ)學(xué)習(xí)】第十一章、類(lèi)-創(chuàng)新互聯(lián)

目錄

10余年的盧氏網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整盧氏建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“盧氏網(wǎng)站設(shè)計(jì)”,“盧氏網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

類(lèi)

1.類(lèi)的概述

1.1 類(lèi)的定義

1.2 程序和類(lèi)

2.聲明類(lèi)(類(lèi)定義)

2.1 分部類(lèi)和分布類(lèi)型?

3.類(lèi)成員

3.1 字段

3.1.1 字段的語(yǔ)法

3.1.2 顯示字段和隱式字段的初始化

3.1.3 字段的修飾符:readonly關(guān)鍵字&const關(guān)鍵字

3.1.4 靜態(tài)字段

3.2 常量

3.2.1 使用readonly關(guān)鍵字&const關(guān)鍵字來(lái)修飾字段的區(qū)別

3.3 屬性

3.3.1 屬性的組成

3.3.2 靜態(tài)屬性

3.4 構(gòu)造函數(shù)

3.4.1 實(shí)例構(gòu)造函數(shù)

3.4.2 靜態(tài)構(gòu)造函數(shù)

3.5 析構(gòu)函數(shù)

3.6 索引器

3.6.1 this關(guān)鍵字

3.6.2 索引器的語(yǔ)法

4.類(lèi)的實(shí)例

4.1實(shí)例化

4.1.1 實(shí)例對(duì)象

4.1.2 對(duì)象初始化語(yǔ)句


類(lèi)

? C#是一種面向?qū)ο蟮恼Z(yǔ)言,這點(diǎn)與C語(yǔ)言不同,C語(yǔ)言是一種面向過(guò)程的語(yǔ)言。除此之外,面向?qū)ο蟮恼Z(yǔ)言還有C++、Java等。而面向?qū)ο笳Z(yǔ)言的一個(gè)基本特征是它們都有類(lèi),類(lèi)是C#中比較復(fù)雜的數(shù)據(jù)類(lèi)型。

?本章將先講明 什么是類(lèi),并說(shuō)明類(lèi)由什么組成,組成類(lèi)的函數(shù)成員和數(shù)據(jù)成員怎么用,接著講如何實(shí)例一個(gè)類(lèi)。


1.類(lèi)的概述

?就像第五章數(shù)據(jù)類(lèi)型里對(duì)類(lèi)型的解釋一樣。

帶到現(xiàn)實(shí)中來(lái)看,大象這個(gè)物種就是一個(gè)類(lèi)。大象這個(gè)物種的共同的特性(比如 年齡、分布區(qū)域、歸屬群落、性別,體型等)和行為(吃草、繁衍、行走、潛水等)就是類(lèi)的公共屬性和行為。類(lèi)的實(shí)例就是大象這個(gè)物種中的一頭大象。

1.1 類(lèi)的定義

? 類(lèi)是一個(gè)能存儲(chǔ)數(shù)據(jù)并執(zhí)行代碼的數(shù)據(jù)結(jié)構(gòu)。

類(lèi)包含數(shù)據(jù)成員和函數(shù)成員。(一個(gè)C#類(lèi)可以有任意數(shù)目的數(shù)據(jù)成員和函數(shù)成員)

  • 數(shù)據(jù)成員:存儲(chǔ) 與類(lèi)或類(lèi)的實(shí)例 相關(guān)的數(shù)據(jù)。數(shù)據(jù)成員通常模擬和該類(lèi)所表示的現(xiàn)實(shí)世界事務(wù)的特性。
  • 函數(shù)成員:它執(zhí)行代碼。通常會(huì)模擬類(lèi)所表示的現(xiàn)實(shí)世界的功能和操作

1.2 程序和類(lèi)

一個(gè)運(yùn)行中的C#程序是一組相互作用的類(lèi)型對(duì)象,它們中大部分都是類(lèi)的實(shí)例。


2.聲明類(lèi)(類(lèi)定義)

類(lèi)的聲明定義類(lèi)的特征和成員。

聲明一個(gè)類(lèi)并不創(chuàng)建類(lèi)的實(shí)例,而是用于創(chuàng)建實(shí)例的模板。

聲明類(lèi)的語(yǔ)法:

class 大象(類(lèi)的名稱)? ? ?//聲明類(lèi)

{

? string sex;????????????????//數(shù)據(jù)成員聲明(類(lèi)的成員)

? ...

? void swim(){...}? ? ? //函數(shù)成員聲明(類(lèi)的成員)

? ...

}?

聲明類(lèi)必須包含:

  • 類(lèi)的名稱
  • 類(lèi)的成員
  • 類(lèi)的特征(封裝、繼承、多態(tài),第十四章會(huì)講)

2.1 分部類(lèi)和分布類(lèi)型?

類(lèi)聲明可以分割為幾個(gè)分布類(lèi)的聲明

  • 每個(gè)分布類(lèi)的聲明都含有一些類(lèi)成員的聲明。
  • 類(lèi)的分布類(lèi)聲明可以在同一個(gè)文件中、也可以在不同文件中。

分布類(lèi)的使用要求:?

  • 類(lèi)聲明必須加類(lèi)型修飾符 partical
  • 類(lèi)名稱相同
  • 組成類(lèi)的所有分布類(lèi)聲明必須在一起編譯

//示例:
partical class A //類(lèi)名稱相同
{
    int a;
}

partical class A 
{
    int b;
}

3.類(lèi)成員

(注意:本章主講實(shí)例成員,靜態(tài)成員放在十三章講)

在類(lèi)聲明中定義的類(lèi)成員有9種成員類(lèi)型。

其中字段和方法是最重要的類(lèi)成員類(lèi)型。(本章不會(huì)介紹事件)

3.1 類(lèi)成員的類(lèi)型

?

類(lèi)聲明相當(dāng)于藍(lán)圖,通過(guò)藍(lán)圖可以創(chuàng)建多個(gè)類(lèi)的實(shí)例。

? 通過(guò)類(lèi)創(chuàng)建的實(shí)例,其中的類(lèi)成員分為兩種:實(shí)例成員和類(lèi)成員。

  • 實(shí)例成員:每個(gè)類(lèi)的實(shí)例都是不同的個(gè)體,它們有自己獨(dú)有的一組類(lèi)成員。且因?yàn)檫@些數(shù)據(jù)成員都和類(lèi)的實(shí)例相關(guān),所以稱為實(shí)例成員。
  • 靜態(tài)成員:實(shí)例成員是默認(rèn)類(lèi)型,但也可以聲明與類(lèi)而不是實(shí)例相關(guān)的成員,也就是靜態(tài)成員。

3.1 字段

字段是在類(lèi)或結(jié)構(gòu)中直接聲明的任意類(lèi)型的變量。

3.1.1 字段的語(yǔ)法

聲明字段的語(yǔ)法:

?????????????????????數(shù)據(jù)類(lèi)型? 字段名;

例如:

?????????????????????int a;

3.1.2 顯示字段和隱式字段的初始化

隱式字段初始化:若字段被聲明且沒(méi)有被賦值,則為隱式初始化。

不同類(lèi)型隱式初始化的默認(rèn)值:?

  • 值類(lèi)型為0
  • bool類(lèi)型為false
  • 引用類(lèi)型為null

3.1.3 字段的修飾符:readonly關(guān)鍵字&const關(guān)鍵字

被readonly和const修飾的字段一旦賦值便不能再被修改。

readonly關(guān)鍵字&const的區(qū)別:

  • 若使用readonly來(lái)修飾字段,則不需要在定義時(shí)初始化,可以在類(lèi)的構(gòu)造函數(shù)完成初始化。
  • 若使用const來(lái)修飾字段,如果沒(méi)有在定義時(shí)初始化,就會(huì)發(fā)生編譯錯(cuò)誤。

語(yǔ)法:

? 訪問(wèn)修飾符 const 數(shù)據(jù)類(lèi)型 變量名=值;

? 訪問(wèn)修飾符 readonly 數(shù)據(jù)類(lèi)型 變量名;

3.1.4 靜態(tài)字段

若使用static關(guān)鍵字修飾字段,則字段為靜態(tài)字段。

? 靜態(tài)字段被類(lèi)的所有實(shí)例所共享,所有實(shí)例都訪問(wèn)同一內(nèi)存位置。

靜態(tài)字段必須通過(guò)類(lèi)來(lái)訪問(wèn),不能像實(shí)例字段一樣通過(guò)類(lèi)的對(duì)象的實(shí)例來(lái)訪問(wèn)字段。

語(yǔ)法:

? 訪問(wèn)修飾符 static 數(shù)據(jù)類(lèi)型 變量名;? ? ? ? //靜態(tài)字段定義

? 訪問(wèn)修飾符 數(shù)據(jù)類(lèi)型 變量名;? ? ? ? ? ? ? ? ?//實(shí)例字段定義

實(shí)例1:

class People
{
    //聲明靜態(tài)字段
    public static string Name; 
    //聲明實(shí)例字段
    public int Age;
}

class Program
{
    static void Main(string[] args)
    {
        //實(shí)例字段通過(guò)實(shí)例對(duì)象訪問(wèn)
        People one=new People();
        one.Age=18;
        //靜態(tài)字段只能通過(guò)類(lèi)名訪問(wèn)
        People.Name="人類(lèi)";
    }
}

實(shí)例2:

3.2 常量

? 常量就是被const修飾的字段。

常量的特點(diǎn):

  • 類(lèi)成員常量類(lèi)似于局部變量。區(qū)別在于常量在類(lèi)聲明中,而局部變量在方法中。
  • 常量在堆中沒(méi)有自己的存儲(chǔ)位置,它在編譯時(shí)被編譯器替換。(類(lèi)似C、C++中的#define)
  • 常量可以用類(lèi)名直接訪問(wèn)。
  • 常量本質(zhì)上就是靜態(tài)的。

3.3 屬性

屬性是對(duì)字段的擴(kuò)展。

根據(jù)面向?qū)ο笳Z(yǔ)言的封裝思想(見(jiàn)第十章),字段最好設(shè)置為private。這樣能防止客戶端直接對(duì)字段進(jìn)行篡改,從而保證了內(nèi)部成員的完整性的同時(shí),也可以更好的為程序員提供編寫(xiě)的便利。而屬性的作用就是為了訪問(wèn)類(lèi)中的私有字段。

屬性的語(yǔ)法:

? 訪問(wèn)修飾符? 數(shù)據(jù)類(lèi)型? 字段名{get{return 字段名;}set{字段名=value;}}

3.3.1 屬性的組成

屬性由set訪問(wèn)器和get訪問(wèn)器組成。

屬性可以只包含set或get,當(dāng)只包含一個(gè)訪問(wèn)器時(shí),另一個(gè)可以省略、或者在前面加訪問(wèn)修飾符private。

屬性除了開(kāi)頭的語(yǔ)法,還有三種寫(xiě)法:

  • 只包含get訪問(wèn)器,為只讀屬性。
  • 只包含set訪問(wèn)器,為只寫(xiě)屬性。
  • 只聲明屬性(自動(dòng)實(shí)現(xiàn)屬性)
屬性的示例:設(shè)置一個(gè)人的年齡字段,將賦值范圍設(shè)置在0-150之間
public class People

{
    //私有字段聲明
    private int age;
    private string name;
    private string sex;
    private string high;

    //公有屬性:屬性類(lèi)型必須和字段屬性一致
    public? string? Age
    {
        //get訪問(wèn)器:負(fù)責(zé)對(duì)字段值進(jìn)行讀?。ǚ祷刈侄危?        get
        {
            return age;
        }
        //set訪問(wèn)器:負(fù)責(zé)對(duì)字段值進(jìn)行賦值(把用戶傳入的值賦給字段)
        //set訪問(wèn)器里有隱式參數(shù)value
        set
        {
            //設(shè)置年齡范圍在0-150之間
            if(value<0 || value>150)
            {
                //拋出異常代碼
                throw(new ArgumentOutOfRangeException("AgeIntProPery"),value,"年齡必須在0-150之間"));
            }
            //value是隱式參數(shù):表示用戶傳入的值
            age=value;
        }
    }

    //只讀屬性
    public string Sex
    {
        get
        {
            return sex;
        }
    }
    //只寫(xiě)屬性
    public string Name
    {
        private get
        {
            return name;
        }
        set
        {
            name=value;
        }
    }
    //自動(dòng)實(shí)現(xiàn)屬性
    public string High
    {
        get;set;
    }
}

屬性字段命名規(guī)范:

  • 對(duì)于私有字段,為Camle寫(xiě)法,即age、name這種。
  • 對(duì)于屬性名,為Pascal寫(xiě)法,即Age、Name這種。

3.3.2 靜態(tài)屬性

? 靜態(tài)屬性與靜態(tài)字段類(lèi)似。?若用static來(lái)修飾屬性,則屬性為靜態(tài)屬性。

靜態(tài)屬性有以下特點(diǎn):

  • 靜態(tài)屬性屬于類(lèi)級(jí)別,無(wú)法通過(guò)實(shí)例對(duì)象訪問(wèn)。
  • 也不能訪問(wèn)類(lèi)的實(shí)例成員,但能被實(shí)例成員訪問(wèn)。
  • 在類(lèi)的內(nèi)部,可以僅使用名稱來(lái)引用靜態(tài)屬性
  • 在類(lèi)的外部,可以通過(guò)類(lèi)名或者using static結(jié)構(gòu)來(lái)引用靜態(tài)屬性

實(shí)例:

public class People
{
    //靜態(tài)字段
    public static string Name;
    
    //靜態(tài)屬性
    public static string Name
    {
        get
        {
            return Name;
        }
        set
        {
            Name = value;
        }
    }
}

3.4 構(gòu)造函數(shù)

構(gòu)造函數(shù)主要用于初始化類(lèi)的實(shí)例狀態(tài)。當(dāng)我們用構(gòu)造函數(shù)創(chuàng)建一個(gè)對(duì)象時(shí),構(gòu)造函數(shù)會(huì)為對(duì)象分配空間,并初始化類(lèi)的成員。

使用構(gòu)造函數(shù)的要求:

  • 如果希望從類(lèi)的外部創(chuàng)建類(lèi)的實(shí)例,需要將構(gòu)造函數(shù)聲明為public
  • 構(gòu)造函數(shù)名和類(lèi)名相同
  • 構(gòu)造函數(shù)不能有返回值

構(gòu)造函數(shù)分為兩種:實(shí)例構(gòu)造函數(shù)、靜態(tài)構(gòu)造函數(shù)。

3.4.1 實(shí)例構(gòu)造函數(shù)

實(shí)例構(gòu)造函數(shù)用于創(chuàng)建和初始化類(lèi)的實(shí)例。

其中使用new運(yùn)算符創(chuàng)建對(duì)象的過(guò)程,其實(shí)是在調(diào)用實(shí)例構(gòu)造函數(shù)來(lái)初始化類(lèi)中所有實(shí)例成員。

實(shí)例構(gòu)造函數(shù)的特點(diǎn):

  • 構(gòu)造函數(shù)可以有參數(shù)。
  • 構(gòu)造函數(shù)可以進(jìn)行方法重載。
  • 如果沒(méi)有為類(lèi)顯示地定義一個(gè)構(gòu)造函數(shù),則C#編譯器會(huì)自動(dòng)生成一個(gè)函數(shù)體為空的默認(rèn)無(wú)參的實(shí)例構(gòu)造函數(shù)。如果有至少一個(gè)顯示構(gòu)造函數(shù),則C#編譯器不會(huì)自動(dòng)生成多的構(gòu)造函數(shù)。
  • 可以為構(gòu)造函數(shù)添加訪問(wèn)修飾符。

使用實(shí)例構(gòu)造函數(shù)的條件:

  • 構(gòu)造函數(shù)必須和類(lèi)同名。
  • 構(gòu)造函數(shù)不允許有返回類(lèi)型。
//實(shí)例構(gòu)造函數(shù)示例:
class People
{
    private string name;

    //只讀屬性
    public string Name
    {
        get
        {
            return name;
        }
    }
    
    //實(shí)例構(gòu)造函數(shù)
    //被public關(guān)鍵字修飾的構(gòu)造函數(shù),稱為公共構(gòu)造函數(shù)
    //被private關(guān)鍵字修飾的構(gòu)造函數(shù),稱為私有構(gòu)造函數(shù)
    public People()
    {
        name="憨憨一號(hào)";
    }

    public people(string name)
    {
        //this關(guān)鍵字指代當(dāng)前類(lèi)的實(shí)例,可以理解為當(dāng)前實(shí)例對(duì)象的引用。
        this.name=name;
    }
}

class Program
{
    static void Main(string[] args)
    {
        People one=new People();
        People two=new People("憨憨二號(hào)");
        
        Console.Writeline(one.Name);    //打印“憨憨一號(hào)”
        Console.Writeline(two.Name);    //打印“憨憨二號(hào)”
    }
}

注意:如果一個(gè)類(lèi)只定義了一個(gè)或多個(gè)私有構(gòu)造函數(shù),而沒(méi)有其他公共構(gòu)造函數(shù),則其他類(lèi)就不能通過(guò)調(diào)用該類(lèi)的私有構(gòu)造函數(shù)來(lái)創(chuàng)建類(lèi)的實(shí)例。

私有構(gòu)造函數(shù)最典型的應(yīng)用是設(shè)計(jì)模式中單例模式的實(shí)現(xiàn)。

單例模式是C#中的一種設(shè)計(jì)模式,他是指在設(shè)計(jì)一個(gè)類(lèi)時(shí),需要保證整個(gè)程序在運(yùn)行期間只存在一個(gè)實(shí)例對(duì)象。

//設(shè)計(jì)模式中單例模式的實(shí)現(xiàn):
class People
{
    //聲明私有字段
    private string name;
    //聲明一個(gè)公開(kāi)的、靜態(tài)的、類(lèi)類(lèi)型的變量
    public static People people;
    
    //聲明屬性
    public string Name
    {
        get{return name;}
    }

    //私有構(gòu)造函數(shù),只能在類(lèi)的內(nèi)部調(diào)用
    //也就是說(shuō)用私有構(gòu)造函數(shù)只能在類(lèi)定義時(shí)被實(shí)例化
    private People()
    {
        Console.Writeline("私有函數(shù)被調(diào)用");
        this.name="Learning Hard";
    }
    
    //靜態(tài)方法,用于返回類(lèi)的實(shí)例
    public static People GetInstance()
    {
        //將實(shí)例對(duì)象的引用賦值給變量
        people=new People();
        return people;
    }
}
class Program
{
    static void Main(string[] args)
    {
        //通過(guò)調(diào)用GetInstance()靜態(tài)方法返回一個(gè)Person的實(shí)例
        //此時(shí)不能使用new運(yùn)算符來(lái)創(chuàng)建實(shí)例,即不能使用People one=new People()來(lái)創(chuàng)建實(shí)例
        People one=People.GetInstance();

        Console.Writeline("類(lèi)實(shí)例的Name屬性為{0}",one.Name);
    }
}

3.4.2 靜態(tài)構(gòu)造函數(shù)

靜態(tài)構(gòu)造函數(shù)用于初始化類(lèi)中的靜態(tài)成員。

在創(chuàng)建第一個(gè)實(shí)例或引用任何靜態(tài)成員之前,CLR(公共語(yǔ)言運(yùn)行時(shí))都將自動(dòng)調(diào)用靜態(tài)構(gòu)造函數(shù)。

class People
{
    
    private static string name;
    

    //聲明屬性
    public static string Name
    {
        get{return name;}
    }

    static People()
    {
        Console.WriteLine("靜態(tài)函數(shù)被調(diào)用");
        name="Learning Hard";
    }
    
}
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(People.Name);
        Console.WriteLine(People.Name);
    }
}

結(jié)果如下:

從上述代碼我們可知靜態(tài)構(gòu)造函數(shù)有以下特點(diǎn):

  • 靜態(tài)構(gòu)造函數(shù)只會(huì)執(zhí)行一次
  • 靜態(tài)構(gòu)造函數(shù)不能使用任何訪問(wèn)修飾符,也不能帶任何參數(shù)
  • 不能直接調(diào)用靜態(tài)構(gòu)造函數(shù)
  • 在程序中,我們無(wú)法控制執(zhí)行靜態(tài)構(gòu)造函數(shù)的時(shí)機(jī)

3.5 析構(gòu)函數(shù)

析構(gòu)函數(shù)用于類(lèi)銷(xiāo)毀之前釋放類(lèi)實(shí)例所使用的托管和非托管資源。

析構(gòu)函數(shù)的作用:

對(duì)于C#應(yīng)用程序所創(chuàng)建的大多數(shù)對(duì)象,都可以使用.NET框架的垃圾回收器(GC)來(lái)隱式地執(zhí)行內(nèi)存管理任務(wù),但如創(chuàng)建了一個(gè)封裝非托管資源的對(duì)象,在應(yīng)用程序使用完這些非托管資源之后,垃圾回收器就需要運(yùn)行對(duì)象的析構(gòu)函數(shù)(即Finalize方法)來(lái)釋放這些資源。

使用析構(gòu)函數(shù)的要求:

  • 只能在類(lèi)中使用析構(gòu)函數(shù)。
  • 一個(gè)類(lèi)只能有一個(gè)析構(gòu)函數(shù)。
  • 無(wú)法繼承或重載析構(gòu)函數(shù)。
  • 無(wú)法顯示地調(diào)用析構(gòu)函數(shù),由垃圾回收器自動(dòng)調(diào)用。
  • 析構(gòu)函數(shù)沒(méi)有參數(shù)和修飾符。

代碼示例:

class People
{
    //析構(gòu)函數(shù)
    ~People()
    {
        Console.WriteLine("析構(gòu)函數(shù)被調(diào)用");
    }
}
//該析構(gòu)函數(shù)隱式調(diào)用了基類(lèi)Object的Finalize方法,上面代碼中的析構(gòu)函數(shù)將被隱式轉(zhuǎn)化為以下代碼


//
//override
protectd override void Finalize()
{
    try
    {
        Console.WriteLine("析構(gòu)函數(shù)被調(diào)用");
    }
    finally
    {
        //調(diào)用基類(lèi)方法
        base.Finalize();
    }
}
3.6 索引器

當(dāng)一個(gè)類(lèi)包含數(shù)組成員時(shí),使用索引器可以大大地簡(jiǎn)化類(lèi)中數(shù)組的訪問(wèn)。

3.6.1 this關(guān)鍵字

? this關(guān)鍵字在類(lèi)中使用,是對(duì)當(dāng)前實(shí)例的引用。

this關(guān)鍵字的使用要求:

  • 它只能出現(xiàn)在以下類(lèi)成員的代碼塊中
    • 實(shí)例構(gòu)造函數(shù)
    • 實(shí)例方法
    • 屬性和索引器的實(shí)例訪問(wèn)器
  • 靜態(tài)成員不是實(shí)例的一部分,所以不能在任何靜態(tài)函數(shù)成員的代碼中使用this關(guān)鍵字

this關(guān)鍵字的用途:

  • 用于區(qū)分類(lèi)的成員和局部變量或參數(shù)
  • 作為調(diào)用方法的實(shí)參
//實(shí)例:創(chuàng)建一個(gè)方法,將一個(gè)恒定值與輸入的值作比較,返回大值
class Program
{
    private int a;
    //this.a為恒定值,而a為輸入的形參(形參名與變量名相同是不推薦的哦)
    public int Add(int a)
    {
        return a>this.a
                ?a
                :this.a;
    }
}
3.6.2 索引器的語(yǔ)法

索引器的定義類(lèi)似屬性,也具有g(shù)et訪問(wèn)器和set訪問(wèn)器。

索引器的語(yǔ)法格式:

訪問(wèn)修飾符? ?數(shù)據(jù)類(lèi)型? this[索引類(lèi)型 index]

{

? get{//返回類(lèi)中某個(gè)元素}

? set{//對(duì)類(lèi)中數(shù)組元素賦值}

}

//其中數(shù)據(jù)類(lèi)型指的是要存取的數(shù)組的類(lèi)型

//索引類(lèi)型表示該索引器使用哪一個(gè)類(lèi)型的索引來(lái)存取數(shù)組元素(可以為整形或字符串型)

示例:索引器也是一種針對(duì)私有字段進(jìn)行訪問(wèn)的方式

class People
{
    //可容納10個(gè)整數(shù)的整數(shù)數(shù)組
    private int[] intarray = new int[10];
    
    //索引器的定義
    //this表示所操作的是類(lèi)對(duì)象的數(shù)組成員(可以簡(jiǎn)單理解為索引器的名稱,注意索引器不能自定義名稱)
    public int this[int index]
    {
        get{return intarray[index];}
        set{intarray[index] = value;}
    }
}

class Program
{
    static void Main(string[] args)
    {
        People one=new People();
        
        one[0]=1;
        one[1]=2;
        one[2]=3;
        one[3]=4;
    }
}


4.類(lèi)的實(shí)例

類(lèi)的聲明只是用于創(chuàng)建類(lèi)的實(shí)例的藍(lán)圖。一旦類(lèi)被聲明,就可以創(chuàng)建類(lèi)的實(shí)例。

4.1實(shí)例化

前面介紹了類(lèi)中可以創(chuàng)建的類(lèi)成員,但想要訪問(wèn)這些實(shí)例成員,必須通過(guò)類(lèi)的實(shí)例對(duì)象來(lái)完成。而要得到一個(gè)類(lèi)的實(shí)例對(duì)象,就必須先聲明一個(gè)該類(lèi)類(lèi)型的變量,然后使用new運(yùn)算符后跟類(lèi)的實(shí)例構(gòu)造函數(shù)來(lái)完成實(shí)例化。

4.1.1 實(shí)例對(duì)象

實(shí)例對(duì)象由變量和對(duì)象創(chuàng)建表達(dá)式組成。

  • 創(chuàng)建變量
    • 類(lèi)是引用類(lèi)型,其變量為數(shù)據(jù)引用和實(shí)際數(shù)據(jù)都申請(qǐng)了內(nèi)存。
    • 此變量所分配內(nèi)存是用來(lái)保存引用的。
  • 對(duì)象創(chuàng)建表達(dá)式
    • 對(duì)象創(chuàng)建表達(dá)式由關(guān)鍵字new后面跟一個(gè)類(lèi)構(gòu)造函數(shù)及其參數(shù)列表組成。
    • new運(yùn)算符為任意指定類(lèi)型的實(shí)例分配并初始化內(nèi)存。它依據(jù)類(lèi)成員類(lèi)型的不同從棧和堆里分配內(nèi)存。

類(lèi)的實(shí)例語(yǔ)法: 類(lèi)類(lèi)型 變量 = new 類(lèi)類(lèi)型();

//類(lèi)類(lèi)型 變量? ? ? ? ? ? ? ? ? ?是創(chuàng)建變量

//new 類(lèi)類(lèi)型();? ??????是對(duì)象創(chuàng)建表達(dá)式

4.1.2 對(duì)象初始化語(yǔ)句

對(duì)象初始化語(yǔ)句擴(kuò)展了創(chuàng)建語(yǔ)法,在表達(dá)式尾部放置一組成員初始化語(yǔ)句。

? 利用對(duì)象初始化語(yǔ)句,可以創(chuàng)建新的對(duì)象實(shí)例,設(shè)置字段和屬性的值。

兩種語(yǔ)法:

? new TypeName? ? ? ? ?{變量名=初始值,變量名=初始值,...}

? new TypeName(參數(shù)){變量名=初始值,變量名=初始值,...}

注意:

  • 初始化發(fā)生在構(gòu)造方法執(zhí)行之后,因此要注意構(gòu)造方法中初始化的值可能會(huì)在之后對(duì)象初始化中重置。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

本文題目:【C#基礎(chǔ)學(xué)習(xí)】第十一章、類(lèi)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://chinadenli.net/article6/dsgpig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃動(dòng)態(tài)網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站制作、電子商務(wù)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司