CodeBlanks Logo Icon CodeBlanks

Özet - Yapıcı metot

C# kursu · Orta seviye · Ders 12/116

Overloading ve this() zincirini birleştirerek bir Product sınıfı yazarsın.

Yapıcı metot özeti

Beş derste C#'ın yapıcı metotlarını öğrendin. Yapıcı metot new ile otomatik çalışır, sınıfla aynı isimdedir ve dönüş türü yoktur. Parametreli yapıcı dışarıdan değer alır, overloading ile birden çok imza sunar.

this() ile yapıcılar birbirine zincirlenir, tekrar azalır. Static yapıcı tür ilk kullanımda bir kez çalışır ve tür düzeyinde hazırlık yapar. Şimdi iki mini görevle tüm bunları birleştireceksin.

Uygulama Counter sınıfına yapıcı ekle

Counter sınıfına public int Count { get; set; } özelliğini ve parametreli yapıcı public Counter(int start) ekle. Gövdede Count = start; ata. Main içinde new Counter(10) ile örnek oluştur ve Count'u yazdır.

Örnek çözümü göster
Counter içine özellik ve parametreli yapıcı ekle. Main içine Counter c = new Counter(10); Console.WriteLine(c.Count); yaz.
Örnek çözüm:
using System;

class Counter
{
    public int Count { get; set; }

    public Counter(int start)
    {
        Count = start;
    }
}

class Program
{
    static void Main()
    {
        Counter c = new Counter(10);
        Console.WriteLine(c.Count);
    }
}

Uygulama Counter'a this() ile zincirle

Aşağıdaki Counter sınıfında public Counter(int start) zaten var. Parametresiz bir yapıcı public Counter() : this(0) { } ekle. Main içinde new Counter() ile örnek oluştur ve Count'u yazdır.

Örnek çözümü göster
this(0) { } ekle. Main içine Counter c = new Counter(); Console.WriteLine(c.Count); yaz.
Örnek çözüm:
using System;

class Counter
{
    public int Count { get; set; }

    public Counter(int start)
    {
        Count = start;
    }

    public Counter() : this(0)
    {
    }
}

class Program
{
    static void Main()
    {
        Counter c = new Counter();
        Console.WriteLine(c.Count);
    }
}

Yapıcı metotlar tamam

Yapıcı metotlar artık araç çantanda. Parametresiz ya da parametreli, tek ya da overload olarak yazabilirsin; this() ile zincirleyerek tekrarı azaltırsın. Static yapıcı ile tür düzeyinde hazırlık yaparsın.

Sonraki grupta miras alma (inheritance) konusuna geçeceksin: bir sınıfın başka bir sınıfın üyelerini devralmasını, base ile temel sınıfa erişmeyi ve virtual/override ile çok biçimliliği öğreneceksin.

Kendini test et

  1. this(0, 0) ne işe yarar?

    public Point() : this(0, 0) { }
    • Statik alan atar
    • Yeni örnek üretir
    • Aynı sınıfın başka yapıcısını çağırır
    • Metodu geçersiz kılar
    Cevabı göster

    Aynı sınıfın başka yapıcısını çağırır — Doğru. this(), aynı sınıfın yapıcısına zincirler.

  2. Static yapıcıyı tamamla

    class Logger { static ____() { Ready = true; } }
    Cevabı göster
    class Logger { static Logger() { Ready = true; } }

Orta seviye bölümündeki tüm dersler