Darsliklar C# Konstruktor (Sinf/Class)

C# C# Konstruktor (Sinf/Class)

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.

Konstruktorsinf nomi bilan bir xil nomga ega, qaytish turi bo’lmagan maxsus metod. U new bilan 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.