C# 類(Class)

類就像特定對象的藍(lán)圖。在現(xiàn)實(shí)世界中,每個對象都有一些顏色,形狀和功能-例如,豪華跑車法拉利。法拉利是豪華車類型的對象。豪華車是一門表明某些特性的類,例如速度,顏色,形狀,內(nèi)飾等。因此,制造滿足這些要求的汽車的任何公司都是豪華車類型的對象。例如,寶馬,蘭博基尼,凱迪拉克的每輛汽車都是“豪華車”類的對象。在這里,“豪華車”是一類,每一輛實(shí)物汽車都是豪華車類的對象。

同樣,在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類定義了一些屬性,字段,事件,方法等。類定義了數(shù)據(jù)的種類及其對象將具有的功能。

類使您可以通過對其他類型,方法和事件的變量進(jìn)行分組來創(chuàng)建自定義類型。

在C#中,可以使用 class 關(guān)鍵字定義一個類。

public class MyClass
{
    public string  myField = string.Empty;

    public MyClass()
    {
    }

    public void MyMethod(int parameter1, string parameter2)
    {
        Console.WriteLine("First Parameter {0}, second parameter {1}", parameter1, parameter2);
    }

    public int MyAutoImplementedProperty { get; set; }

    private int myPropertyVar;
    
    public int MyProperty
    {
        get { return myPropertyVar; }
        set { myPropertyVar = value; }
    } 
}

下圖顯示了C#類的重要構(gòu)建塊。

C#類

C#訪問修飾符

訪問修飾符應(yīng)用于類,方法,屬性,字段和其他成員的聲明。它們定義了類及其成員的可訪問性。公共,私有,受保護(hù)和內(nèi)部是C#中的訪問修飾符。我們將在關(guān)鍵字部分中對此進(jìn)行了解。

C# 字段

該字段是一個具有值的類級變量。通常,字段成員應(yīng)具有私有訪問修飾符并與屬性一起使用。

C#構(gòu)造函數(shù)

一個類可以具有參數(shù)化或無參數(shù)的構(gòu)造函數(shù)。創(chuàng)建類的實(shí)例時(shí),將調(diào)用構(gòu)造函數(shù)??梢允褂迷L問修飾符和類名稱來定義構(gòu)造函數(shù):

<access modifiers> <class name>(){  }
class MyClass
{
    public MyClass()
    {

    }
}

C#方法

可以使用以下模板定義方法:

{access modifier} {return type} MethodName({parameterType parameterName})
public void MyMethod(int parameter1, string parameter2)
{
    // 在此處編寫您的方法代碼。 

}

屬性

可以使用getter和setter定義屬性,如下所示:

private int _myPropertyVar;

public int MyProperty
{
    get { return _myPropertyVar; }
    set { _myPropertyVar = value; }
}

屬性封裝了一個私有字段。它提供了getters(get {})來檢索基礎(chǔ)字段的值,并提供setters(set {})來設(shè)置基礎(chǔ)字段的值。在上面的示例中,_myPropertyVar是一個私有字段,無法直接訪問。只能通過MyProperty訪問。因此,MyProperty封裝了_myPropertyVar。

您還可以在get和set中應(yīng)用一些其他邏輯,如以下示例所示。

private int _myPropertyVar;

public int MyProperty
{
    get {
        return _myPropertyVar / 2;
    }

    set {
        if (value > 100)
            _myPropertyVar = 100;
        else
            _myPropertyVar = value; ;
    }
}

自動實(shí)現(xiàn)屬性

從C#3.0開始,如果您不想在get或set中應(yīng)用某些邏輯,則可以輕松進(jìn)行屬性聲明。

以下是自動實(shí)現(xiàn)的屬性的示例:

public int MyAutoImplementedProperty { get; set; }

請注意,上述屬性示例中沒有私有后備字段。支持字段將由編譯器自動創(chuàng)建。您可以像使用類的常規(guī)屬性一樣使用自動化屬性。當(dāng)屬性訪問器中不需要其他邏輯時(shí),自動實(shí)現(xiàn)的屬性只是為了輕松聲明屬性。

命名空間

命名空間是一組相關(guān)類和命名空間的容器。命名空間還用于為命名空間名稱內(nèi)的類提供唯一的名稱。命名空間和類使用點(diǎn)(.)表示。

在C#中,可以使用 namespace 關(guān)鍵字定義命名空間。

namespace CSharpTutorials
{
    class MyClass
    {

    }
}

在上面的示例中,MyClass的完全限定類名是 CSharpTutorials.MyClass.

命名空間可以包含其他命名空間。內(nèi)部命名空間可以使用(.)分隔。

namespace CSharpTutorials.Examples
{
    class MyClassExample
    {

    }
}

在上面的示例中,MyClassExample 的完全限定的類名稱為 CSharpTutorials.Examples.MyClassExample。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清