CodeBlanks Logo Icon CodeBlanks

Yapıcı metot

C# kursu · Orta seviye · Ders 7/116

Sınıf yapıcı metodunu (constructor) tanımlamayı öğrenirsin.

Yapıcı metot nedir?

Yapıcı metot (constructor), bir sınıftan new ile örnek üretildiğinde otomatik çağrılan özel metottur. Sınıfla aynı ismi taşır, dönüş türü yazılmaz ve nesnenin başlangıç durumunu kurar.

Örnek: class Player { public Player() { ... } }. Burada Player() yapıcı metottur. new Player() yazdığında önce bellek ayrılır, sonra bu metot çalışır. Sınıfta hiç yapıcı tanımlamazsan derleyici otomatik parametresiz bir varsayılan yapıcı üretir.

Varsayılan yapıcı (default constructor)

Sınıfında hiç yapıcı tanımlamazsan derleyici otomatik olarak parametresiz bir varsayılan yapıcı üretir. Bu yüzden new Book() derlenir; alanlar türlerin varsayılan değerini alır (sayılar 0, string null, bool false).

Ancak sen herhangi bir yapıcı tanımladığında derleyici varsayılanı üretmez. Eğer parametreli bir yapıcı yazıp parametresiz de istersen onu da açıkça yazman gerekir. Aksi halde new Book() derleme hatası verir.

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

Player sınıfına public string Name { get; set; } özelliğini ve parametresiz bir yapıcı ekle. Yapıcı gövdesinde Name = "Misafir"; ata. Main içinde new Player() ile örnek oluştur ve Name'i yazdır.

Örnek çözümü göster
Player içine public Player() { Name = "Misafir"; } ekle. Main içine Player p = new Player(); Console.WriteLine(p.Name); yaz.
Örnek çözüm:
using System;

class Player
{
    public string Name { get; set; }

    public Player()
    {
        Name = "Misafir";
    }
}

class Program
{
    static void Main()
    {
        Player p = new Player();
        Console.WriteLine(p.Name);
    }
}

Kendini test et

  1. Hangisi Player sınıfının yapıcı metodudur?

    class Player { ... }
    • public void Player() { }
    • public Player() { }
    • public void CreatePlayer() { }
    • public Init() { }
    Cevabı göster

    public Player() { } — Doğru. Yapıcı metot sınıfla aynı isimde, dönüş türü olmadan yazılır.

  2. Yapıcı adını tamamla

    class Player { public ____() { Name = "Oyuncu"; } }
    Cevabı göster
    class Player { public Player() { Name = "Oyuncu"; } }
  3. Yapıcı özelliği tanıma eşle

    Sınıfla aynı isim
    Yapıcı adı
    Dönüş türü yok
    Yapıcı imzası
    new ile çağrılır
    Çalışma anı
    Başlangıç durumu
    Yapıcının amacı

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