Obyektga yo`naltirilgan dasturlash
tillari (OOP)
Obyektlar
orqali ma`lumotlarni qayta ishlash va amallar bajarishni ta`minlashda
foydalaniladigan dasturlash tillari Obyektga
yo`naltirilgan dasturlash tillaridir. OOP ham rivojlanish evaziga ehtiyoj
sababli yuzaga kelgan. OOP ning
imkoniyatlari ba`zida bizning tasavvurimizdan ham kattaroq. Unda istalgan
tipdagi obyektlarni qayta ishlashning imkoni bor. OOP dasturlarini tasavvur
qilish tizimli dasturlarni tuza oladigan dasturchilar uchun qiyin emas, OOP -
tizimli dasturlarning majmui. Istalgan dasturni tahlil qilsak - hech bir dastur
yo`qki unda tizimli dasturlash tillaridagi amallar bajarilmasa, OOP da ham
turli xil tiplar bo`lgani bilan ular ham oddiy tiplardan tuzilgan
to`plamlardir, ular o`rtasida amal bajarganda ham shundoq o`zini emas ichidagi
a`zolari o`rtasida amallar bajariladi. A`zolari esa o`sha biz bilgan oddiy
tiplar hisoblanadi.
OOP ning 3 prinspi:
1.
Inkaptsulyatsiya (incapsulation)(Class a`zolarining xavfsizligini ta`minlash)
2.
Nasl olish(Abstraction-Inheritance)(Avlod classda ajdod classning
xususiyatlaridan foydalanish)
3.
Polimorfizm
Savol:
Object nima? Object(obyekt) - xotirada saqlangan
ma`lumotning e`lon qilingan nomi(o`zgaruvchisi). O`zgaruvchi
- ma`lumotni biror bir nom bilan e`lon qilish.
Savol:
Struct nima? Struct(struktura) -obyekt tegishli
bo`lgan to`plamning nomi. Bu to`plamni tip(type) deb ataladi. Struct tipidagi
obyektda ichidagi barcha o`zgaruvchilar tashqaridan ko`rinib turadi.
Savol:
Class nima? Class ham xuddi Struct kabi type, lekin
undagi obyektning ba`zi xususiyatlari bor, ular bu obyektning tanasini yashirib
turadi va boshqalar.. Shu sababli ham struct dan odatda juda kam foydalaniladi.
Chunki Struct - bu public(ommaviy, ochiq, oshkora obyekt). Bundan tashqari
Class lar kod yozishda ham muhim ahamiyatga ega. Dasturchi dastur tuzganda
odatda har bir missiya uchun bir funksiya ochadi va funksiya nomini shu missiyaga
mos qilib nomlaydi. Kodning matnini shu funksiyalarda yozadi. Funksiyani o`zini
esa Class da yoziladi. Demak Classda kod matnini emas funksiya(method-metod),
property(xususiyat) hamda o`zgaruvchilar yoziladi, funksiyaning ichida esa
kodning matni yoziladi.(adashtirmaslik
kerak). Ma`lum bir guruhga kiradigan missiyalar, mantiqlar to`plami bitta
Class da tashkil etiladi va shu class nomini ham mantiqdan kelib chiqib nom
beriladi. Agar bu class mantiqiy amallarni bajarish uchun emas, faqat
to`plamning tipi(type) uchun yaratib vaqtincha shu tipdagi ma`lumotni saqlab
turish uchun yaratilgan bo`lsa (ya`ni undan maqsad faqat ma`lumot saqlash va
biror manzilga yo`naltirish) demak unda funksiyaning keragi yo`q.
Masalan:
Bu
class Tom obyektining qiymatini saqlash uchun e`lon qilingan. Tom-mushuk bir
obyekt bo`lsa uning ismi va yoshini saqlab turadigan class. Demak bu to`plam
yoki bir tip ki, unda mushuk haqida ma`lumotlar saqlanadi. Bu klass tipidagi
obyektlar ko`pligi bizga bir nechta mushukning ma`lumotlari saqlanayotganligini
bildiradi. Oydinlashadiki. biz OOP dasturlash tillarida o`zimiz xohlagancha tip
e`lon qilib foydalana olishimiz mumkin ekan. Biz OOP orqali juda katta
imkoniyatlarga erishamiz. Class lar birgalikda kutubxona(library-biblioteka)
fayllarini tashkil etadi, bu kutubxonalar ham biror katta dasturlar tizimini
tashkil etadi. Masalan: Windows OS ham kutubxonalardan tashkil topgan.
Public va Private nima? Class
a`zolarining xavfsizligini ta`minlash(inkapsulyatsiya)-incapsulation) prinspining
maxsus so`zlari. Public, Protected, Private turlari mavjud.
Public(umumiy) - ushbu elementni class tashqarisidan ko`rish, o`zgartirish mumkin yoki yo`qligini bildiradi
Public(umumiy) - ushbu elementni class tashqarisidan ko`rish, o`zgartirish mumkin yoki yo`qligini bildiradi
Protected(himoyalangan)
- ushbu element shu class avlodlari(nasl olinganda) ichida va shu class ning
ichida ko`rinishi, murojaat qilish mumkinligi va qiymatini o`zgartira olish
huquqini beradi
Private(maxfiy)
- mazkur element o`zi joylashgan class ichidagina ko`rinishi va qiymatlarini
o`zgartira olinishi hamda murojaat huquqini beradi.
Bu
bizga nima uchun zarur? Tasavvur qilishga oson bo`lishi uchun kompyuter
klaviaturasidan foydalanamiz. Klavishlar public elementlar, uning ichki
qismidagi sxemalar esa private. Bizga faqat foydalanishimiz kerak bo`lgan
elementlar ko`rsatib qo`yilgan, qolgani esa biz uchun muhim emas va mavhum.
Protectedni esa xotirada qolishi uchun foydalangan vaqtimizda tushuntirib
o`tamiz.
No comments:
Post a Comment