Aracılığıyla paylaş


Sınıflar (C# Programlama Kılavuzu)

A sınıfı değişkenleri diğer türleri, yöntemleri ve olayları ile birlikte gruplayarak özel türlerinizi oluşturmanızı sağlayan bir yapısıdır.Örnek gibi bir sınıftır.Bu veri ve bir öğe türünün davranışını tanımlar.Sınıf statik olarak bildirilen değil, istemci kodu oluşturarak kullanabilmeniz için nesneleri veya örnekleri bir değişkene atanır.Tüm başvuruları kapsam dışında gider kadar değişken bellekte kalır.O anda clr olarak atık toplama için uygun işaretler.Sınıf olarak bildirilirse statik, sonra yalnızca tek bir kopyasını bellekte var ve istemci kodu yalnızca erişebileceklerini sınıfın kendisi değil bir Örnek değişkeni.Daha fazla bilgi için bkz. Statik sınıflar ve statik sınıf üyelerini (C# Programlama Kılavuzu).

Yapılar destek sınıfları Devralma, nesne yönelimli programlama temel bir özelliğidir.Daha fazla bilgi için bkz. Kalıtım (C# Programlama Kılavuzu).

Sınıfları bildirme

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

public class Customer
{
    //Fields, properties, methods and events go here...
}

class Anahtar sözcük erişim düzeyini önünde.Çünkü ortak kullanılan bu durumda, herkes bu sınıftan nesneleri oluşturabilirsiniz.Sınıfın adını izleyen class anahtar sözcük.Tanım geri kalanı davranış ve veri tanımlandığı sınıf gövdesi olur.Alanları, özellikleri, yöntemleri ve olayları bir sınıf toplu olarak adlandırılır olarak sınıf üyelerini.

Nesneleri oluşturma

Bazen birbirinin yerine kullanılmalarına rağmen bir sınıf ve nesne farklı şeylerdir.Bir sınıf nesnesi türü tanımlar, ancak bir nesne değil.Nesneye dayalı bir sınıf üzerinde somut bir varlık ve bazen bir sınıfın bir örneği olarak adlandırılır.

Nesneleri kullanarak oluşturulabilir Yeni nesne, temel sınıfın adını ve ardından anahtar sözcüğünü aşağıdaki gibi:

Customer object1 = new Customer();

Bir sınıfın bir örneği oluşturulduğunda, programcıya nesnesine geçirilir.Önceki örnekte, object1 temel alan bir nesneye bir başvuru Customer.Bu başvuru yeni nesneye başvuruyor, ancak nesne verisi içermiyor.Aslında, hiç bir nesne oluşturmadan bir nesne başvurusu oluşturabilirsiniz:

Customer object2;

Böyle bir başvuru ile bir nesneye erişmeye çalışma zamanında başarısız olur çünkü, bir nesneye başvuran değil bunun gibi nesne başvurularını oluşturma önermiyoruz.Ancak, böyle bir başvuru ya da yeni bir nesne oluşturarak veya bunun gibi varolan bir nesneye atama bir nesneye başvuracak şekilde yapılabilir:

Customer object3 = new Customer();
Customer object4 = object3;

Bu kod iki nesne başvurularını oluşturan her ikisi de aynı nesneye başvuruyor.Bu nedenle, nesne aracılığıyla yapılan herhangi bir değişiklik object3 sonraki kullanımlar yansıtılır object4.Nesne sınıfları esas başvuruya göre adlandırılır çünkü sınıflar başvuru türleri bilinir.

Sınıf mirası

Kalıtım kullanarak yapılabilir bir elde edilmesini, yani bir sınıf kullanarak bildirilmiş bir temel sınıf aldığı verileri ve davranış devralır.Bir temel sınıf, bir iki nokta üst üste ve bu gibi türetilmiş bir sınıf adını izleyen temel sınıf adını ekleyerek belirlenir:

public class Manager : Employee
{
    // Employee fields, properties, methods and events are inherited
    // New Manager fields, properties, methods and events go here...
}

Bir sınıfın temel bir sınıf bildirir, temel sınıf oluşturucularını dışındaki tüm üyeleri devralır.

c++, bir temel sınıfından bir sınıf C# [NULL]'ta yalnızca doğrudan devralabilir.Ancak, bir sınıf dolaylı olarak bir temel sınıf kendisi başka bir sınıftan alabilir çünkü birden çok temel sınıflar devralır.Ayrıca, bir sınıfı birden fazla arabirim doğrudan uygulayabilirsiniz.Daha fazla bilgi için bkz. Arabirimler (C# Programlama Kılavuzu).

Bir sınıf bildirilen soyut.Soyut bir sınıf imzası tanımı ancak hiçbir uygulama Soyut yöntemler içeriyor.Soyut sınıflar başlatılamaz.Bunlar yalnızca soyut yöntemlerini uygulayın türetilmiş sınıflar kullanılabilir.Tarafından constrast, bir Kapalı buradan diğer sınıflar sınıf izin vermez.Daha fazla bilgi için bkz. Soyut ve mühürlenmiş sınıflar ve sınıf üyesi (C# Programlama Kılavuzu).

Sınıf tanımları farklı kaynak dosyaları arasında bölebilirsiniz.Daha fazla bilgi için bkz. Kısmi Sýnýflar ve yöntemler (C# Programlama Kılavuzu).

Tanımlama

Aşağıdaki örnekte, tek bir alan, bir yöntem ve bir kurucu olarak adlandırılan özel bir yöntem içeren ortak bir sınıf olarak tanımlanır.Daha fazla bilgi için bkz. Kurucular (C# Programlama Kılavuzu).Sınıf ile Örneklendirilmiş new anahtar sözcük.

Örnek

public class Person
{
    // Field
    public string name;

    // Constructor that takes no arguments.
    public Person()
    {
        name = "unknown";
    }

    // Constructor that takes one argument.
    public Person(string nm)
    {
        name = nm;
    }

    // Method
    public void SetName(string newName)
    {
        name = newName;
    }
}
class TestPerson
{
    static void Main()
    {
        // Call the constructor that has no parameters.
        Person person1 = new Person();
        Console.WriteLine(person1.name);

        person1.SetName("John Smith");
        Console.WriteLine(person1.name);

        // Call the constructor that has one parameter.
        Person person2 = new Person("Sarah Jones");
        Console.WriteLine(person2.name);

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
// Output:
// unknown
// John Smith
// Sarah Jones

C# dil belirtimi

Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.

Ayrıca bkz.

Başvuru

Çok biçimlilik (C# Programlama Kılavuzu)

Üyeler (C# Programlama Kılavuzu)

Yöntemleri (C# Programlama Kılavuzu)

Kurucular (C# Programlama Kılavuzu)

Yıkıcı (C# Programlama Kılavuzu)

Nesneleri (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu

Nesne tabanlı programlama (C# ve Visual Basic)