CodeBlanks Logo Icon CodeBlanks

Yapıcı metot

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.

Başlangıç kodu

Program.cs
using System;

class Player
{
    public string Name { get; set; }
    // Yapıcı metodu buraya tanımla
}

class Program
{
    static void Main()
    {
        // Player örneği oluştur ve Name'i yazdır
    }
}

Örnek çözüm

Program.cs
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);
    }
}

Beklenen çıktı

Misafir

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

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

Program.cs
class Player { ... }
  • public void Player() { }
  • public Init() { }
  • public void CreatePlayer() { }
  • public Player() { } Doğru cevap

Açıklama: Yapıcı metot sınıfla aynı isimde, dönüş türü olmadan yazılır.

2 Yapıcı adını tamamla

Soru
class Player { public ____() { Name = "Oyuncu"; } }
Cevap
class Player { public Player() { Name = "Oyuncu"; } }

Açıklama: Yapıcı metot sınıfla aynı isimle yazılır.

3 Yapıcı özelliği tanıma eşle

Kavram Anlamı
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