Aracılığıyla paylaş


Sınıflar ve yapılar (C# Programlama Kılavuzu)

Sınıflar ve yapılar olan iki ortak türü sisteminin temel yapıları.net Framework.Her bir dizi veri ve mantıksal birim olarak birbirine ait davranışlar Kapsüller, aslında bir veri yapısıdır.Veri ve davranışlar üyeleri sınıf veya yapı, bu konunun ilerisinde listelenen yöntemleri, özellikleri ve olayları ve benzeri içermesi.

Çalışma zamanında örneklere veya nesneleri oluşturmak için kullanılan örnek bir sınıf veya yapı birimi bildirimi gibidir.Bir sınıf ya da yapı olarak adlandırılan tanımlarsanız, Person, Person türün adýdýr.Bildirip bir değişkenine atayacak, p türü Person, p bir nesneyi veya örneği olduğu söylenir Person.Birden çok örneğini aynı Person türü oluşturulabilir ve her nesnenin özelliklerini ve alanlarını farklı değerlere sahip olabilir.

Bir sınıf bir başvuru türüdür.Sınıfın bir nesnesi oluşturulduğunda, yalnızca belleğin başvuru nesnesi atandığı değişken tutar.Nesne başvurusu yeni bir değişkene atandığında, yeni değişken özgün nesneye başvurur.Her ikisi de aynı verilere başvurmak için bir değişken yapılan değişiklikler diğer değişkeni yansıtılır.

Yapı bir değer türüdür.Bir yapı oluşturulduğunda, yapı atandığı değişkeni yapının gerçek verileri tutar.Yapı yeni bir değişkene atandığında kopyalanır.Bu nedenle yeni bir değişkeni ve özgün değişken aynı veriyi iki ayrı kopyasını içerir.Bir kopyasında yapılan değişiklikler diğer kopyayı etkilemez.

Genel olarak, sınıflar, daha karmaşık davranış ya da bir sınıf nesnesi oluşturulduktan sonra değiştirilmiş amaçlanmıştır veri modelini oluşturmak için kullanılır.Yapılar öncelikle yapı oluşturulduktan sonra değişiklik yapılması için tasarlanmamıştır veri içeren küçük veri yapıları için idealdir.

Daha fazla bilgi için, bkz. Sınıflar (C# Programlama Kılavuzu), Nesneleri (C# Programlama Kılavuzu) ve Yapılar (C# Programlama Kılavuzu)

Örnek

Aşağıdaki örnekte, MyCustomClass en üst düzeyde üç üye ile tanımlanan ProgrammingGuide ad.Örneği (nesne) MyCustomClass oluşturulur Main yönteminde Program , sınıf ve nesnenin yöntemlerini ve özelliklerini erişilir nokta gösterim kullanarak.

    namespace ProgrammingGuide
    {
        // Class definition.
        public class MyCustomClass
        {
            // Class members:
            // Property.
            public int Number { get; set; }

            // Method.
            public int Multiply(int num)
            {
                return num * Number;
            }

            // Instance Constructor.
            public MyCustomClass()
            {
                Number = 0;
            }
        }
        // Another class definition. This one contains
        // the Main method, the entry point for the program.
        class Program
        {
            static void Main(string[] args)
            {
                // Create an object of type MyCustomClass.
                MyCustomClass myClass = new MyCustomClass();

                // Set the value of a public property.
                myClass.Number = 27;

                // Call a public method.
                int result = myClass.Multiply(4);
            }
        }
    }

Kapsülleme

Kapsülleme , bazen ilk pillar veya nesne tabanlı programlama prensibi olarak adlandırılır.Kapsüllemenin ilkesine göre sınıf ya da yapı nasıl erişilebilir her biri kendi üyelerini sınıf ya da yapı dışında kod belirtebilirsiniz.Olası hatalar veya kötü niyetli açıklarını kodlamak için sınırlamak için yöntemleri ve gelen sınıf veya derleme dışında kullanılması amaçlanmamıştır değişkenleri gizlenebilir.

Sınıfları hakkında daha fazla bilgi için bkz: Sınıflar (C# Programlama Kılavuzu) ve Nesneleri (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifÜyeler

Tüm yöntemleri, alanlar, sabitler, özellikleri ve olayları bir tür içinde bildirilmesi gerekir; Bunlar adlı üyeleri sınıf veya yapı.C# [NULL]'ta genel değişkenler veya yoktur yöntemleri gibi diğer bazı dillerde.Hatta bir programın başlangıç noktasını Main bir sınıf veya yapı birimi içinde yöntemi,'in bildirilebilir gerekir.Aşağıdaki liste, bir sınıf veya yapı birimi içinde bildirilebilir üyelerinin çeşitli türleri içerir.

ms173109.collapse_all(tr-tr,VS.110).gifErişilebilirlik

Bazı yöntemler ve Özellikler adı verilen veya sınıf veya yapı birimi olarak bilinen, dışındaki kod dosyasından geliyordu İstemci kodu.Diğer yöntemler ve özellikler yalnızca sınıf ya da yapı kendisi kullanmak için olabilir.Erişilebilirlik kodunuzun yalnızca hedeflenen istemci kodu, ulaşabileceği şekilde sınırlamak önemlidir.Nasıl türlerinizi ve üyeleri istemci kodu erişim değiştiricilerini kullanarak erişilebilir belirtmek ortak, Korunan, , protected internal, ve özel.Varsayılan erişilebilirlik olduğu private.Daha fazla bilgi için bkz. Erişim değiştiricileri (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifKalıtım

Sınıflar (ancak olmayan yapılar) miras kavramını destekler.Bir sınıfın başka bir sınıftan türer ( temel sýnýf), Kurucular ve yıkıcı dışında temel sınıfın tüm public, protected ve internal üyeleri otomatik olarak içerir.Daha fazla bilgi için, bkz. Kalıtım (C# Programlama Kılavuzu) ve Çok biçimlilik (C# Programlama Kılavuzu).

Sınıflar olarak bildirilebilir soyut, bir veya daha fazla kendi yöntemlerini uygulaması yok olması anlamına gelir.Soyut sınıflar doğrudan başlatılamaz, ancak diğer sınıfların eksik bir uygulama sağlamak için temel sınıflar olarak görebilir.Sınıflar da bildirilebilir olarak mühürlenmiş diğer sınıfların onlardan devralmasını önlemek için.Daha fazla bilgi için bkz. Soyut ve mühürlenmiş sınıflar ve sınıf üyesi (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifArayüzler

Birden çok arabirimi, sınıflar ve yapılar devralabilir.Veri türü arabirimde tanımlanan yöntemleri uygulayan bir arabirim anlamına gelir devralmak için.Daha fazla bilgi için bkz. Arabirimler (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifGenel türler

Sınıflar ve yapılar ile bir veya daha fazla tür parametreleri tanımlanabilir.Türünde bir örnek oluşturduğunda, istemci kodu türü sağlar.Örneğin List<T> , sınıf System.Collections.Generic ad alanı, bir tür parametresi ile tanımlanır.İstemci kod örneği oluşturur bir List<string> veya List<int> liste tutacaktır türünü belirtmek için.Daha fazla bilgi için bkz. Generics (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifStatik türler

Sınıflar (ancak olmayan yapılar) bildirilebilir olarak statik.Static birsýnýf yalnýzca static üyeler içerebilir ve new anahtar sözcüğü ile başlatılamaz.Sınıf bir kopyasını belleğe yüklendiğinde, program yüklediğinde ve üyeleri sınıf adı erişilir.Sınıflar ve yapılar hem static üyeler içerebilir.Daha fazla bilgi için bkz. Statik sınıflar ve statik sınıf üyelerini (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifİç içe türü

Bir sınıf veya yapı birimi başka bir sınıf veya yapı birimi içinde iç içe geçebilir.Daha fazla bilgi için bkz: İç içe türleri.

ms173109.collapse_all(tr-tr,VS.110).gifKısmi Türler

Sınıf, yapı veya kod dosyasında yöntemini ve başka bölümlerini ayrı kod dosyasında tanımlayabilirsiniz.Daha fazla bilgi için bkz: kısmi Sýnýflar ve yöntemler.

ms173109.collapse_all(tr-tr,VS.110).gifNesne Başlatıcı

Örneğini oluşturabilir ve sınıf veya yapı nesnelerin ve koleksiyonların nesnelerin açıkça kendi kurucu çağırmadan başlatılamadı.Daha fazla bilgi için bkz. Nesne ve koleksiyon Başlatıcı (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifAnonim türleri

Bu kullanışlı veya adlandırılmış bir sınıf oluşturmak gerekli olmadığı durumlarda, örneğin ne zaman listesini verilerle doldurma yapıları kalıcı veya başka bir yönteme sahip değil, anonim türleri kullanın.Daha fazla bilgi için bkz. Anonim türleri (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifUzantı yöntemleri

"Bir sınıf türetilmiş bir sınıf oluşturmadan özgün türüne aitse gibi yöntemleri çağrılabilir ayrı bir türü oluşturarak genişletebilirsiniz".Daha fazla bilgi için bkz. Uzantı yöntemleri (C# Programlama Kılavuzu).

ms173109.collapse_all(tr-tr,VS.110).gifÖrtülü olarak yazılı yerel değişkenler

Bir sınıf veya yapı birimi yöntemi içinde örtülü yazarak derleyiciye derleme zamanında doğru türünü belirlemek için kullanabilirsiniz.Daha fazla bilgi için bkz. Yerel değişkenler örtülü olarak yazılı (c Programlama Kılavuzu #).

C# dil belirtiminin

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.

Kavramlar

C# Programlama Kılavuzu