class (C# Başvurusu)

Sınıflar, aşağıdaki örnekte gösterildiği gibi anahtar sözcüğü classkullanılarak bildirilir:

class TestClass
{
    // Methods, properties, fields, events, delegates
    // and nested classes go here.
}

Açıklamalar

C# dilinde yalnızca tek devralma işlemine izin verilir. Başka bir deyişle, bir sınıf uygulamayı yalnızca bir temel sınıftan devralabilir. Ancak, bir sınıf birden fazla arabirim uygulayabilir. Aşağıdaki tabloda sınıf devralma ve arabirim uygulaması örnekleri gösterilmektedir:

Devralma Örnek
Hiçbiri class ClassA { }
Tek class DerivedClass : BaseClass { }
Hiçbiri, iki arabirim uygular class ImplClass : IFace1, IFace2 { }
Tek, tek bir arabirim uygular class ImplDerivedClass : BaseClass, IFace1 { }

Diğer sınıflar içinde iç içe değil, doğrudan bir ad alanı içinde bildirdiğiniz sınıflar genel veya olabilir. Sınıflar varsayılan olarakdır internal .

İç içe sınıflar da dahil olmak üzere sınıf üyeleri genel, korumalı iç, korumalı, , özel veya özel korumalı olabilir. Üyeler varsayılan olarak vardır private .

Daha fazla bilgi için bkz . Erişim Değiştiricileri.

Tür parametrelerine sahip genel sınıfları bildirebilirsiniz. Daha fazla bilgi için bkz. Genel Sınıflar.

Bir sınıf aşağıdaki üyelerin bildirimlerini içerebilir:

Örnek

Aşağıdaki örnekte sınıf alanlarının, oluşturucuların ve yöntemlerin bildirilmesi gösterilmektedir. Ayrıca nesne örnekleme ve yazdırma örneği verilerini gösterir. Bu örnekte iki sınıf bildirilir. İlk sınıf olan , Childiki özel alan (name ve age), iki ortak oluşturucu ve bir ortak yöntem içerir. İkinci sınıf olan StringTest, öğesini içermek Mainiçin kullanılır.

class Child
{
    private int age;
    private string name;

    // Default constructor:
    public Child()
    {
        name = "N/A";
    }

    // Constructor:
    public Child(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    // Printing method:
    public void PrintChild()
    {
        Console.WriteLine("{0}, {1} years old.", name, age);
    }
}

class StringTest
{
    static void Main()
    {
        // Create objects by using the new operator:
        Child child1 = new Child("Craig", 11);
        Child child2 = new Child("Sally", 10);

        // Create an object using the default constructor:
        Child child3 = new Child();

        // Display results:
        Console.Write("Child #1: ");
        child1.PrintChild();
        Console.Write("Child #2: ");
        child2.PrintChild();
        Console.Write("Child #3: ");
        child3.PrintChild();
    }
}
/* Output:
    Child #1: Craig, 11 years old.
    Child #2: Sally, 10 years old.
    Child #3: N/A, 0 years old.
*/

Yorumlar

Önceki örnekte özel alanlara (name ve age) yalnızca sınıfın genel yöntemiyle erişilebildiğine Child dikkat edin. Örneğin, aşağıdaki gibi bir deyim kullanarak yönteminden Main çocuğun adını yazdıramazsınız:

Console.Write(child1.name);   // Error

öğesinin Main özel üyelerine Child erişmenin mümkün olması için sınıfın bir üyesi olması Main gerekir.

Varsayılan olarak erişim değiştiricisi privateolmayan bir sınıfın içinde bildirilen türler, bu nedenle bu örnekteki veri üyeleri anahtar sözcüğü kaldırılmışsa yine de olur private .

Son olarak, parametresiz oluşturucu ()child3age kullanılarak oluşturulan nesne için alanın varsayılan olarak sıfır olarak başlatıldığına dikkat edin.

C# dili belirtimi

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.

Ayrıca bkz.