🎯 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 ✅
}
}
🌀 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
}
}
🔑 Xulosa
Constructor → obyekt yaratilganda avtomatik ishga tushadi.
Overloading → bitta nom, lekin parametrlariga qarab turlicha ishlaydi.
Top comments (0)