Darsliklar Java Konstruktor (Sinf/Class)

Java Java 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. U parametr qabul qilib, obyektni yaratish paytida sozlaydi:

class Mahsulot {
    String nomi;
    int narxi;

    Mahsulot(String nomi, int narxi) {
        this.nomi = nomi;
        this.narxi = narxi;
    }
}

public class Main {
    public static void main(String[] args) {
        Mahsulot telefon = new Mahsulot("iPhone", 12000000);
        System.out.println(telefon.nomi + " — " + telefon.narxi);
    }
}
iPhone — 12000000

Obyekt yaratishning o’zidayoq (new Mahsulot("iPhone", 12000000)) unga qiymat berdik. this.nomi — maydon, nomi — parametr; this ular orasidagi chalkashlikni bartaraf etadi.

Standart konstruktor

Agar hech qanday konstruktor yozmasangiz, Java o’zi bo’sh standart konstruktor yaratadi. Biroq parametrli konstruktor yozsangiz, standartini kerak bo’lsa o’zingiz qo’shasiz:

class Foydalanuvchi {
    String ism;

    Foydalanuvchi() {              // standart
        ism = "mehmon";
    }
    Foydalanuvchi(String ism) {    // parametrli
        this.ism = ism;
    }
}

public class Main {
    public static void main(String[] args) {
        Foydalanuvchi a = new Foydalanuvchi();
        Foydalanuvchi b = new Foydalanuvchi("Farrux");
        System.out.println(a.ism);
        System.out.println(b.ism);
    }
}
mehmon
Farrux

Bir sinfda ikki konstruktor bo’ldi — bu konstruktor overloading. Java 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 (void yoki tur)
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 kirish modifikatorlari — sinf a’zolarining ko’rinishini boshqarishga o’tamiz.