Yapıcı metot
- C# kursu
- Orta seviye
- Ders 7/116
- 4 dk
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
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
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?
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
class Player { public ____() { Name = "Oyuncu"; } }
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ı |