C# Classes (Sınıflar)
C# dilinde sınıflar ve nesneler, veri alanlarını (fields) ve bu alanlar üzerinde işlem yapmak için metotları içeren, OOP'nin ana yapı taşlarından biridir. Bir sınıf, nesnelerin (instances) planlanmasını belirler. Sınıflar, yeni veri türleri oluşturmanın temel bir yoludur.
class Person
{
// Veri alanları
public string Name;
public int Age;
// Metotlar
public void SayHello()
{
Console.WriteLine("Hello, my name is " + Name + " and I'm " + Age + " years old.");
}
}
- Nesnelerin Oluşturulması (Instantiation):
- Bir sınıftan bir nesne oluşturmak için new anahtar kelimesi kullanılır. Yeni oluşturulan nesne, sınıfın bir örneği olur ve sınıfın veri alanlarına ve metotlarına erişebilir.
Person person1 = new Person();
- Veri Alanları (Fields):
- Bir sınıfın veri alanları, nesnenin özelliklerini veya durumunu temsil eder. Örneğin, bir Person sınıfı için Name ve Age gibi veri alanları olabilir. Veri alanları, sınıfın içinde tanımlanır ve sınıfın her nesnesi için ayrı değerlere sahip olabilirler.
- Metotlar (Methods):
- Bir sınıfın metotları, nesnenin davranışlarını veya işlevlerini tanımlar. Örneğin, SayHello gibi bir metot, bir Person nesnesinin kendisini tanıtmasını sağlayabilir. Metotlar, sınıfın içinde tanımlanır ve nesne üzerinde çağrılabilirler.
- Erişim Belirleyicileri (Access Modifiers):
- Sınıfın veri alanları ve metotları, erişim belirleyicileri kullanılarak erişime kapatılabilir veya sınırlanabilir. public, private, protected ve internal gibi erişim belirleyicileri, sınıf üyelerinin erişim düzeyini kontrol etmek için kullanılır.
- Özellikler (Properties):
- Özellikler, sınıfın veri alanlarına erişimi kontrol etmek ve bu alanlara değer atama ve değer almayı düzenlemek için kullanılır. Özellikler, get ve set erişimcileri ile tanımlanır ve bir sınıfın dışındaki kodun veri alanlarına doğrudan erişmesini önler.
- Kurucu Metotlar (Constructors):
- Bir sınıfın kurucu metodu, bir nesnenin oluşturulduğu anda otomatik olarak çağrılan özel bir metottur. Kurucu metotlar, sınıfın durumunu başlatmak için kullanılır ve new anahtar kelimesiyle bir nesne oluşturulduğunda otomatik olarak çağrılırlar.
class Person
{
public string Name;
public int Age;
// Parametreli kurucu metot
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
- Nesne Yapıcılar (Object Initializers):
- Nesne yapılandırıcıları, nesnelerin özelliklerine değer atamak için kullanılan özel bir sözdizimidir. Nesne yapılandırıcıları, nesne oluşturma ifadesinin ardından süslü parantezler içinde özellik adları ve değerlerini belirterek kullanılır.
Person person1 = new Person { Name = "John", Age = 30 };