Konstruktor — obyekt yaratilgan paytda avtomatik ishlaydigan maxsus metod. U obyektni “tug’ilish” lahzasida sozlaydi: maydonlarga boshlang’ich qiymat beradi. Konstruktorsiz siz obyektni yaratib, so’ng har bir maydonini qo’lda to’ldirishga majbur bo’lardingiz.
Konstruktor — sinf nomi bilan bir xil nomga ega, qaytish turi bo’lmagan maxsus metod. U
newbilan obyekt yaratilishi bilan avtomatik chaqiriladi.
Parametrli konstruktor
Konstruktor sinf nomi bilan aynan bir xil ataladi va hech narsa qaytarmaydi:
using System;
class Mahsulot
{
public string Nomi;
public int Narxi;
public Mahsulot(string nomi, int narxi)
{
Nomi = nomi;
Narxi = narxi;
}
}
Mahsulot telefon = new Mahsulot("iPhone", 12000000);
Console.WriteLine($"{telefon.Nomi} — {telefon.Narxi}");
iPhone — 12000000
Obyekt yaratishning o’zidayoq (new Mahsulot("iPhone", 12000000)) unga qiymat berdik. Konstruktor bu qiymatlarni maydonlarga joyladi.
Konstruktor overloading
Bir sinfda bir necha konstruktor bo’lishi mumkin — bu obyektni turlicha yaratishga imkon beradi:
using System;
class Foydalanuvchi
{
public string Ism;
public Foydalanuvchi() // standart
{
Ism = "mehmon";
}
public Foydalanuvchi(string ism) // parametrli
{
Ism = ism;
}
}
Foydalanuvchi a = new Foydalanuvchi();
Foydalanuvchi b = new Foydalanuvchi("Farrux");
Console.WriteLine(a.Ism);
Console.WriteLine(b.Ism);
mehmon
Farrux
Bir sinfda ikki konstruktor bo’ldi. C# argumentga qarab to’g’risini tanlaydi.
Konstruktor va oddiy metod farqi
Ikkovining farqini jadvalda ko’ramiz:
| Xususiyat | Konstruktor | Oddiy metod |
|---|---|---|
| Nomi | sinf nomi bilan bir xil | ixtiyoriy |
| Qaytish turi | yo’q | bor |
| Chaqirilishi | new bilan avtomatik |
qo’lda |
| Vazifasi | obyektni sozlaydi | amal bajaradi |
Nega konstruktor kerak?
Konstruktor obyektni bir qatorda to’liq tayyor holga keltiradi. Usiz siz new bilan obyekt yaratib, so’ng har bir maydonni alohida to’ldirishga majbur bo’lardingiz. Konstruktor bu jarayonni ixchamlashtiradi va obyekt hech qachon “yarim tayyor” holatda qolmasligini kafolatlaydi.
Xulosa
Bu bo’limda konstruktor tushunchasini, parametrli va standart shakllarini, konstruktor overloading’ni va oddiy metoddan farqini ko’rib chiqdik. Konstruktor — obyektni tug’ilishida to’g’ri sozlaydi. Keyingi darsda obyektga kirish ma’lumoti — foydalanuvchidan qiymat olishga o’tamiz.