Obyektga yo’naltirilgan dasturlash (OOP) — dasturlashda tub burilish nuqtasi. Kotlin — sof obyektga yo’naltirilgan til. OOP ma’lumot va u ustidagi amallarni bitta yaxlit birlikka — obyektga jamlaydi. Android ilovalari to’liq OOP asosida quriladi.
OOP — dasturni real dunyodagi obyektlar ko’rinishida modellashtiradigan paradigma. Uning to’rt ustuni bor: enkapsulatsiya, merosxo’rlik, polimorfizm va abstraksiya.
OOP nima uchun kerak?
Tasavvur qiling, foydalanuvchini dasturda ifodalash kerak. Protsedurali yondashuvda uning ismi, yoshi alohida o’zgaruvchilarda, harakatlari esa alohida funksiyalarda bo’lardi — hammasi sochilib ketadi. OOP esa bularni bitta Foydalanuvchi birligiga jamlaydi: ma’lumot va xatti-harakat bir joyda.
To’rt ustun
OOP ni ushlab turadigan to’rt tamoyilni jadvalda ko’ramiz:
| Ustun | Ma’nosi |
|---|---|
| Enkapsulatsiya | ma’lumot va metodni jamlab, ichkisini yashirish |
| Merosxo’rlik | 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, obyekt — shu andozadan yaratilgan nusxa:
class Foydalanuvchi {
var ism = ""
var yosh = 0
}
fun main() {
val u = Foydalanuvchi() // obyekt yaratdik
u.ism = "Master Sherkulov"
u.yosh = 30
println("${u.ism}, ${u.yosh} yosh")
}
Master Sherkulov, 30 yosh
class Foydalanuvchi — andozani belgiladi, Foydalanuvchi() — obyekt yaratdi (Kotlin’da new yozish shart emas). Obyekt maydonlariga nuqta (.) orqali murojaat qilinadi.
Bir sinf — ko’p obyekt
Bitta andozadan istagancha mustaqil obyekt yaratsa bo’ladi:
class Foydalanuvchi {
var ism = ""
}
fun main() {
val a = Foydalanuvchi()
val b = Foydalanuvchi()
a.ism = "Farrux"
b.ism = "Master Sherkulov"
println(a.ism)
println(b.ism)
}
Farrux
Master Sherkulov
a va b — mustaqil obyektlar, har biri o’z ma’lumotini saqlaydi.
Xulosa
Bu bo’limda OOP falsafasini, uning to’rt ustunini, sinf va obyekt tushunchasini hamda obyekt yaratishni (Kotlin’da newsiz) ko’rib chiqdik. OOP — murakkab dasturni boshqarish san’ati. Keyingi darsda obyekt va sinflarga chuqurroq kirib boramiz.