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.
Ö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
-
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.
-
Yapıcı adını tamamla
class Player { public ____() { Name = "Oyuncu"; } }Cevabı göster
class Player { public Player() { Name = "Oyuncu"; } } -
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ı