Wednesday, September 26, 2012

OYDning asosiy tushunchalari

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