Obyekga
yo'naltirilgan dasturlash yoki OYD – dasturlarni haqiqiy
hayotiylikka asoslangan holda gi dasturlash usulidir. Yana protsedurali
dasturlash tillari (masalan, Paskal, Basic, Fortan) ham mavjud. OYD
ning undan asosiy farqi shundaki, OYD asosan obyektlar asoslangan holda ishlasa, protsedurali dasturlash
tillari esa asosan funktsiyalarga asoslangan bo'ladi ya'ni
bu usuldagi dasturlashda har bitta buyruqlar qadamma-qadam bajarilib
boriladi masalan: faylni och, raqamni o'qi, 4 ga ko'paytir va ekranga
chiqar.
Javada OYD ni tushunish
uchun quyidagi eng asosiy tushunchalarni o'rganib chiqishimiz kerak.
Ular: Class, Metod(Funktsiya), O'zgaruchilar,
Konstantalar.
Class-
OYDning marzkazi hisoblanadi va u har xil kodlar, ma'lumotlar va shu
ma'lumotlar qay tarzda o'zgarishini ifodalovchi hususiyatlar
saqlanadi.Boshqacharoq
qilib aytadigan bo'lsak hayotiy obyektlarning qanday faoliyat
yuritishi, nimalardan iborat ekanligi, qanday hususiyatlarga ega
ekanligini tavsiflovchi kichik bir hujjat sifatida qarash ham mumkin.
Javada hamma narsa Class ichida sodir bo'ladi. Class o'z ichiga
o'zgaruvchilar va metodlar(funktsiyalar) va qiymati o'zgarmaydigan
konstantalarni oladi. Yana shuni ham ta'kidlash kerakki, har bitta
klass bitta o'zgaruchi tipi bo'lib ham hizmat qiladi. Xuddi Integer,
String yoki boshqa tiplar kabi har bir class ham ma'lum bir tip
sifatida qaralishi mumkin. Quyida Inson class qay tarzda yozilishi:
public class Inson{
}
Object – bu
class bilan farqli tushuncha xisoblanadi. Object biz yozgan
classimizdagi har xil qoidalarga bo'ysunadigan ma'lumot bo'lib, u
tezkor hotirada saqlanadi, class esa qattiq diskda saqlanadi. Har bir
yasalgan Object tezkor hotiraning ma'lum bir honachalariga
joylashadi. Hayotiy bir misol, masalan, ko'p qavatli binoni tezkor
hotira deb qarasak. Unda istiqomat qiluvchi insonlar esa unda
saqlanuvchi obyektlar bo'lib. Agar biz Insonning hususiyatlari,
bajaradigan ishlari va hokazo hususiyatlari haqidagi bilimlarni
qog'ozga tushursak bu qoralamani class deb qaralishi mumkin garchi u
texnik usulda yozilmagan bo'lsa ham. Biz ana o'sha qoralamani
classimizda kompyuter tushunadigan tilga keltiramiz.
Metodlar(Funktsiyalar)
– obyektimiz nimalar qila
olishini izohlaydi, masalan, Inson haqida yozgan qoralamamizda
insonni yura olishi va boshqa harakatlarini keltirganmiz. Aynan ana
o'sha qila oladigan ishlarini Metodlar orqali ifodalaymiz masalan
quyida yur() metodi
keltirilgan.
public class
Inson{
public void
yur(){
}
}
O'zgaruchilar
– obyektlarimizni o'zgaruvchi sifatida ham qarashimiz mumkin bunda
uning qiymatlari o'zgarishi mumkin. Masalan Inson classimizda
insonning yurish tezligi o'zgaradi bunda uning tezligi qandaydir
sonlarda o'zgaradi masalan yur()
metodidan yugur()
metodiga o'tganda yoki to'xta()
metodiga o'tganda uning tezligi o'zgaradi. Shu va shunga o'xshash
obyektlar o'zgaruvchilar deb yuritiladi.
public class
Inson{
int tezlik=0;
public void
yur(){
tezlik=5;
}
public void
yugur(){
tezlik=15;
}
public void
yur(){
tezlik=0;
}
}
Konstantalar –
qiymatlari bir marta qo'yilib
qaytib o'zgarmaydigan obyektlar hisoblanadi. Masalan Inson
husisiyatlarga ega bo'lgan Toshmat classida uning tug'ilgan yili
o'zgarmaydi.
public class
Toshmat{
int tezlik=0;
final int
tugilganYili=1989; // final kalit //so'zi obyektning konstanta
ekanligini bildiradi
public void
yur(){
}
}
agarda biz
tugilganYili ga yana boshqa qiymat bermoqchi bo'lsak dastur xatolik
haqida habar beradi, chunki u dastlab final kalit so'zi
orqali e'lon qilingan.
No comments:
Post a Comment