CodeBlanks Logo Icon CodeBlanks

Parametreli yapıcı

C# kursu · Orta seviye · Ders 8/116

Parametre alan yapıcılarla nesneyi başlatmayı öğrenirsin.

Parametreli yapıcı

Yapıcı metotlar parametre alabilir. Böylece nesneyi üretirken başlangıç değerlerini dışarıdan verebilirsin: public Car(string make) { Make = make; }.

Çağrı da parametre içerir: new Car("Toyota"). Burada "Toyota" değeri yapıcıya make parametresi olarak geçer ve Make özelliğine atanır. Parametreli yapıcı, nesneyi oluşturduğu an geçerli duruma getirir; ayrı atama satırları gerekmez.

Birden fazla parametre

Yapıcı birden çok parametre alabilir; virgülle ayrılırlar: public Car(string make, string model, int year). Çağrı da aynı sırada değer verir: new Car("Toyota", "Corolla", 2020).

Sıra önemlidir: ilk değer make'e, ikinci model'e, üçüncü year'a gider. Yan sıra yanlış değerlerin gitmesine yol açar. Çok parametreli yapıcılarda isimleri anlamlı tutmak, karışıklığı önler.

Uygulama Car sınıfına parametreli yapıcı ekle

Car sınıfına public string Make { get; set; }, public string Model { get; set; } ve public int Year { get; set; } özelliklerini ekle. Ardından üç parametreli yapıcı tanımla ve gövdede her parametreyi ilgili özelliğe ata. Main içinde new Car("Toyota", "Corolla", 2020) ile örnek oluştur ve Make'i yazdır.

Örnek çözümü göster
Üç özellik ve üç parametreli yapıcı tanımla. Main içine Car c = new Car("Toyota", "Corolla", 2020); Console.WriteLine(c.Make); yaz.
Örnek çözüm:
using System;

class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }

    public Car(string make, string model, int year)
    {
        Make = make;
        Model = model;
        Year = year;
    }
}

class Program
{
    static void Main()
    {
        Car c = new Car("Toyota", "Corolla", 2020);
        Console.WriteLine(c.Make);
    }
}

Kendini test et

  1. Parametre bildirimini tamamla

    public Car(string ____) { Make = make; }
    Cevabı göster
    public Car(string make) { Make = make; }
  2. Hangisi parametreli yapıcı çağrısıdır?

    public Car(string make, string model, int year) { ... }
    • new Car("Toyota", "Corolla", 2020)
    • new Car()
    • new Car[]
    • Car()
    Cevabı göster

    new Car("Toyota", "Corolla", 2020) — Doğru. Üç argüman, üç parametreye sırayla geçer.

  3. Parametreyi türüne eşle

    string make
    Metin
    int year
    Tam sayı
    decimal price
    Ondalıklı sayı
    bool active
    Doğru/yanlış

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