Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki örnekte gösterildiği gibi anahtar sözcüğünü class kullanarak sınıfları bildirin:
class TestClass
{
// Methods, properties, fields, events, delegates
// and nested classes go here.
}
C# yalnızca tek devralmayı destekler. Başka bir deyişle, bir sınıf yalnızca bir temel sınıftan uygulamayı devralabilir. Ancak, bir sınıf birden fazla arabirim uygulayabilir.
C# dili başvuru belgesi, C# dilinin en son yayımlanan sürümünü gösterir. Ayrıca, yaklaşan dil sürümü için genel önizlemelerdeki özelliklere yönelik ilk belgeleri içerir.
Belgelerde ilk olarak dilin son üç sürümünde veya geçerli genel önizlemelerde sunulan tüm özellikler tanımlanır.
Tavsiye
Bir özelliğin C# dilinde ilk tanıtıldığı zamanları bulmak için C# dil sürümü geçmişi makalesine bakın.
Sınıflar, arabirimler ve devralma hakkında daha fazla bilgi için temel bilgiler bölümündeki devralma makalesine bakın.
Sınıfları doğrudan bir ad alanı içinde bildirebilirsiniz. Bu sınıfları diğer sınıfların içine yerleştirmeyin. Bu sınıfları public veya internalyapabilirsiniz. Sınıflar varsayılan olarak şeklindedir internal.
İç içe sınıflar da dahil olmak üzere sınıf üyelerini , protected internal, , protected, internalprivateveya private protectedolarak publicbildirebilirsiniz. Varsayılan olarak, üyeler şeklindedir 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:
- Yapıcılar
- Sabitleri
- Alanlar
- Sonlandırıcılar
- Yöntemler
- Özellikleri
- Dizinleyiciler
- Operatörler
- Etkinlikler
- Temsilcileri
- Sınıflar
- Arayüzler
- Yapı türleri
- Numaralandırma türleri
Ö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. birinci sınıfı, Childiki özel alan (name ve age), iki ortak oluşturucu ve bir ortak yöntem içerir. İkinci sınıf olan StringTest, içerir Main.
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
Özel alanlara (name ve age) yalnızca sınıfının genel yöntemi Child aracılığıyla erişebilirsiniz. Ö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şmek yalnızca sınıfın bir üyesiyse Main mümkündür. Varsayılan privateolarak erişim değiştiricisi olmayan bir sınıfın içinde bildirilen türler, bu nedenle bu örnekteki veri üyeleri anahtar sözcüğü kaldırılırsa yine de private olur. Son olarak, parametresiz oluşturucu ()child3 kullanılarak oluşturulan nesne için age alan varsayılan olarak sıfır olarak başlatılır.
C# dil belirtimi
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# söz dizimi ve kullanımı için kesin kaynaktır.