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. 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.