DEV Community

Elshod Ibodullayev
Elshod Ibodullayev

Posted on

C# Constructor va Overloading — Oddiy va Tushunarli

🎯 C# Constructor va Overloading — Oddiy va Tushunarli

Dasturlashni o‘rganayotganimizda tez-tez uchraydigan ikkita muhim tushuncha mavjud:

constructor va overloading.

Bu maqolada ikkalasini ham oddiy misollar, real hayotiy qiyoslar va kod parchalar bilan tushuntirib beramiz.


🏗 Constructor nima?

Constructor — bu class obyektini yaratishda avtomatik ishlaydigan maxsus metod.

  • Class nomi bilan bir xil bo‘ladi.
  • Return type yozilmaydi.
  • Obyektga boshlang‘ich qiymatlarni berish uchun ishlatiladi.

👉 Real hayotiy qiyos:

  • Siz yangi uy qurdingiz (new qildingiz).
  • Uyga kirishingiz bilan constructor sizni kutib olib: “Salom, choy tayyor!” deydi.

Misol:

class House
{
    public string Owner;

    // Constructor
    public House(string ownerName)
    {
        Owner = ownerName;
        Console.WriteLine($"Salom {ownerName}, uyingiz tayyor ✅");
    }
}

class Program
{
    static void Main()
    {
        House myHouse = new House("Boltavoy");
        // Natija: Salom Boltavoy, uyingiz tayyor ✅
    }
}
Enter fullscreen mode Exit fullscreen mode

🌀 Overloading nima?

Method overloading — bu bir xil nomli metodlarni turli parametrlar bilan e’lon qilish.

Parametrlar soni yoki turi farqlanadi.

Bu kodni o‘qishga qulay va moslashuvchan qiladi.

👉 Real hayotiy qiyos:

Kafeda “Qahva bormi?” deysiz.

Ofitsiant sizga turli variantlar taklif qiladi: oddiy, sutli, shakarli.

Hamma joyda nomi “qahva”, lekin tayyorlanishi farq qiladi.

class Coffee
{
    public void MakeCoffee()
    {
        Console.WriteLine("Oddiy qahva ☕");
    }

    public void MakeCoffee(string milk)
    {
        Console.WriteLine("Sutli qahva 🥛+☕");
    }

    public void MakeCoffee(string milk, string sugar)
    {
        Console.WriteLine("Sutli va shakarli qahva 🍬+🥛+☕");
    }
}

class Program
{
    static void Main()
    {
        Coffee coffee = new Coffee();

        coffee.MakeCoffee();                 // Oddiy qahva
        coffee.MakeCoffee("milk");           // Sutli qahva
        coffee.MakeCoffee("milk", "sugar");  // Sutli va shakarli qahva
    }
}
Enter fullscreen mode Exit fullscreen mode

🔑 Xulosa

Constructor → obyekt yaratilganda avtomatik ishga tushadi.

Overloading → bitta nom, lekin parametrlariga qarab turlicha ishlaydi.

Top comments (0)