Obyektga yo’naltirilgan dasturlash (OOP) — dasturlashda tub burilish nuqtasi. Java — sof obyektga yo’naltirilgan til: unda deyarli hamma narsa obyekt orqali ifodalanadi. OOP ma’lumot va u ustidagi amallarni bitta yaxlit birlikka — obyektga jamlaydi.
OOP — dasturni real dunyodagi obyektlar ko’rinishida modellashtiradigan paradigma. Uning to’rt ustuni bor: enkapsulatsiya, meros, polimorfizm va abstraksiya.
OOP nima uchun kerak?
Tasavvur qiling, foydalanuvchini dasturda ifodalash kerak. Protsedurali yondashuvda uning ismi, yoshi alohida o’zgaruvchilarda, harakatlari esa alohida metodlarda bo’lardi — hammasi sochilib ketadi. OOP esa bularni bitta Foydalanuvchi birligiga jamlaydi: ma’lumot (ism, yosh) va xatti-harakat (tanishtirish) bir joyda.
To’rt ustun
OOP ni ushlab turadigan to’rt tamoyilni jadvalda ko’rib chiqamiz:
| Ustun | Ma’nosi |
|---|---|
| Enkapsulatsiya | ma’lumot va metodni birlashtirib, ichkisini yashirish |
| Meros | bir sinf boshqasidan xususiyat oladi |
| Polimorfizm | bir nom turli obyektda turlicha ishlaydi |
| Abstraksiya | murakkablikni yashirib, faqat kerakni ko’rsatish |
Bularning har birini keyingi darslarda alohida chuqur o’rganamiz.
Birinchi sinf va obyekt
OOP markazida ikki tushuncha: sinf — andoza (chizma), obyekt — shu andozadan yaratilgan aniq nusxa. Birinchi sinfimizni ko’ramiz:
class Foydalanuvchi {
String ism;
int yosh;
}
public class Main {
public static void main(String[] args) {
Foydalanuvchi u = new Foydalanuvchi(); // obyekt yaratdik
u.ism = "Master Sherkulov";
u.yosh = 30;
System.out.println(u.ism + ", " + u.yosh + " yosh");
}
}
Master Sherkulov, 30 yosh
class Foydalanuvchi — andozani belgiladi, new Foydalanuvchi() — shu andozadan aniq obyekt yaratdi. Obyekt maydonlariga nuqta (.) orqali murojaat qilinadi. new kalit so’zi — Java’da obyekt yaratishning asosiy usuli.
Bir sinf — ko’p obyekt
Sinfning kuchi shundaki, bitta andozadan istagancha mustaqil obyekt yaratsa bo’ladi:
class Foydalanuvchi {
String ism;
}
public class Main {
public static void main(String[] args) {
Foydalanuvchi a = new Foydalanuvchi();
Foydalanuvchi b = new Foydalanuvchi();
a.ism = "Farrux";
b.ism = "Master Sherkulov";
System.out.println(a.ism);
System.out.println(b.ism);
}
}
Farrux
Master Sherkulov
a va b — bir sinfdan yaratilgan, ammo butunlay mustaqil ikki obyekt. Biri o’zgarsa, ikkinchisiga ta’sir qilmaydi.
Xulosa
Bu bo’limda OOP falsafasini, uning to’rt ustunini, sinf (andoza) va obyekt (nusxa) tushunchasini hamda new bilan obyekt yaratishni ko’rib chiqdik. OOP — murakkab dasturni boshqarish san’ati. Keyingi darsda to’plamlar (Collections) — ma’lumot tuzilmalariga o’tamiz.