"Enter"a basıp içeriğe geçin

C# Çoklu Sınıflar ve Nesneler (Multiple Classes and Objects)

Merhaba arkadaşlar, bu yazıda C# çoklu sınıflar ve nesneler (multiple classes and objects) konusunu anlatacağım. multiple classes and objects, yani çoklu sınıflar ve nesneler, C# dilinin temel özelliklerinden biridir. Bu özellik sayesinde, programlarımızı daha modüler, okunabilir ve yeniden kullanılabilir hale getirebiliriz.

Sınıf (Class), bir programın içindeki mantıksal bir birimdir. Sınıf, bir nesnenin özelliklerini (properties) ve davranışlarını (methods) tanımlar. Örneğin, bir Araba sınıfı oluşturabiliriz. Bu sınıf, Araba nesnelerinin marka, model, renk gibi özelliklerini ve çalıştırma, durdurma, hızlanma gibi davranışlarını tanımlar.

Nesne (Object), bir sınıfın somutlaşmış halidir. Nesne, sınıfın özelliklerine ve davranışlarına sahip olan bir varlıktır. Örneğin, Araba sınıfından bir nesne oluşturabiliriz. Bu nesne, Araba sınıfının tanımladığı özelliklere ve davranışlara sahip olan belirli bir arabadır.

C# dilinde, birden fazla sınıf oluşturabiliriz. Bu sayede, programımızın farklı işlevleri için farklı sınıflar kullanabiliriz. Örneğin, bir Okul sınıfı oluşturabiliriz. Bu sınıf, Okul nesnelerinin adı, adresi, öğrenci sayısı gibi özelliklerini ve kayıt yapma, mezun etme gibi davranışlarını tanımlar. Ayrıca, bir Öğrenci sınıfı oluşturabiliriz. Bu sınıf, Öğrenci nesnelerinin adı, soyadı, numarası gibi özelliklerini ve ders seçme, sınava girmek gibi davranışlarını tanımlar.

Birden fazla sınıftan birden fazla nesne oluşturabiliriz. Bu sayede, programımızın farklı verileri için farklı nesneler kullanabiliriz. Örneğin, Okul sınıfından iki nesne oluşturabiliriz. Bu nesneler, farklı okulları temsil ederler. Ayrıca, Öğrenci sınıfından dört nesne oluşturabiliriz. Bu nesneler, farklı öğrencileri temsil ederler.

Sınıflar arasında ilişki kurabiliriz. Bu sayede, programımızın farklı işlevleri arasında bağlantı sağlayabiliriz. Örneğin, Okul ve Öğrenci sınıfları arasında bir ilişki kurabiliriz. Bu ilişki, bir okulun hangi öğrencilere sahip olduğunu veya bir öğrencinin hangi okula kayıtlı olduğunu belirtir.

// Öğrenci sınıfı
class Ogrenci {
    // Öğrencinin özellikleri
    public string ad;
    public string soyad;
    public int yas;
    public string okulNo;
    
    // Öğrencinin davranışları
    public void OkulaKaydol(Okul okul) {
       // Öğrenciyi okula kaydeder
       okul.Ogrenciler.Add(this);
       Console.WriteLine("{0} {1}, {2} isimli okula kaydoldu.", ad, soyad, okul.ad);
    }

    public void OkuldanAyril(Okul okul) {
        // Öğrenciyi okuldan çıkarır
        okul.Ogrenciler.Remove(this);
        Console.WriteLine("{0} {1}, {2} isimli okuldan ayrıldı.", ad, soyad, okul.ad);
    }
}

// Okul sınıfı
class Okul {
    // Okulun özellikleri
    public string ad;
    public string adres;
    public List Ogrenciler;

    // Okulun davranışları
    public void OgrenciListele() {
        // Okuldaki öğrencileri listeler
        Console.WriteLine("{0} isimli okuldaki öğrenciler:", ad);
        foreach (Ogrenci ogrenci in Ogrenciler) {
            Console.WriteLine("{0} {1}", ogrenci.ad, ogrenci.soyad);
        }
    }
}

// Ana program
class Program {
    static void Main(string[] args) {
        // Örnek öğrenciler oluşturur
        Ogrenci ali = new Ogrenci();
        ali.ad = "Ali";
        ali.soyad = "Yılmaz";
        ali.yas = 18;
        ali.okulNo = "123456";
        Ogrenci ayse = new Ogrenci();
        ayse.ad = "Ayşe";
        ayse.soyad = "Demir";
        ayse.yas = 17;
        ayse.okulNo = "654321";

        // Örnek bir okul oluşturur
        Okul lise = new Okul();
        lise.ad = "Ankara Lisesi";
        lise.adres = "Ankara";
        lise.Ogrenciler = new List<Ogrenci>();

        // Öğrencileri okula kaydeder
        ali.OkulaKaydol(lise);
        ayse.OkulaKaydol(lise);

        // Okuldaki öğrencileri listeler
        lise.OgrenciListele();

        // Ayşe'yi okuldan çıkarır
        ayse.OkuldanAyril(lise);

        // Okuldaki öğrencileri tekrar listeler
        lise.OgrenciListele();
    }
}

C# dilinde Multiple Classes and Objects kullanmak için bazı temel kavramları bilmemiz gerekir. Bunlar:

  • Sınıf tanımlamak: Bir sınıf tanımlamak için class anahtar kelimesini kullanırız. Sınıfın adı büyük harfle başlamalıdır. Sınıfın içinde özellikleri ve davranışları tanımlarız.
  • Nesne oluşturmak: Bir nesne oluşturmak için new anahtar kelimesini kullanırız. Nesnenin adı küçük harfle başlamalıdır. Nesneyi oluşturduktan sonra ona değer atayabilir veya onun davranışlarını çağırabiliriz.
  • İlişki kurmak: İlişki kurmak için iki yöntem vardır: kompozisyon ve agregasyon. Kompozisyon yönteminde, bir sınıfın içinde başka bir sınıftan bir nesne tanımlarız. Bu nesne, sınıfın bir parçasıdır ve sınıfın yaşam döngüsüne bağlıdır. Agregasyon yönteminde, bir sınıfın içinde başka bir sınıftan bir nesne referansı tanımlarız. Bu nesne, sınıfın bir parçası değildir ve sınıfın yaşam döngüsünden bağımsızdır.

Bu yazıda C# programlama dilinde Multiple Classes and Objects konusunu anlattım. Umarım faydalı olmuştur.

C# ile ilgili diğer yazılarım için: C# – Bizneyapiyoruzki

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.