Samarqand davlat universiteti raqamli texnologiyalar fakulteti optimal boshqaruv usullari kafedrasi



Yüklə 1,58 Mb.
səhifə40/79
tarix14.12.2023
ölçüsü1,58 Mb.
#179928
1   ...   36   37   38   39   40   41   42   43   ...   79
Java MAJMUA

Interfeyslar

Java dasturlash tilida interfeys deb ushbu interfeysga to’g’ri kelish uchun klasslarga qo’yiladigan talablar to’plami xisoblanadi. Interfeys klass bajarishi kerak bo’lgan metodlar to’plamini e’lon qiladi. Interfeys to’laqon abstrakt klassga, ya’ni barcha metodlari abstrakt bo’lgan klass, o’xshaydi. Interfeysni interface kalit so’zi bilan e’lon qilinadi va interfeysda abstrakt, ya’ni metod tanasi bo’lmagan metodlar e’lon qilinadi. Interfeysda e’lon qilingan barcha metodlar avtomatik public va abstract xisoblangani uchun ushbu o’zgartiruvchilarni metod nomi oldiga qo’yish shart emas. Masalan:


interface Driveable
{
void dvigatelniYurgizish();
void dvigatelniTuxtatish();
float tezlashish(float t);
}
Interfeysni bajarish uchun implements kalit so’zidan foydalaniladi.
public class Mototsikl implements Driveable
{
public void dvigatelniYurgizish()
{
//mototsiklga xos dvigatelni yurgizish kodi…
}
public void dvigatelniTuxtatish()
{
//mototsiklga xos dvigatelni tuxtatish kodi

}
public float tezlashish(float t)
{
//mototsiklga xos tezlashish kodi

}}
Yuqoridagi dasturda Mototsikl klassi Driveable interfeysini implements kalit so’zi yordamida bajarmoqda. Mototsikl klassi Driveable interfeysni uchta metodini ushbu klassga xos ravishda bajarmoqda.
Avval aytib o’tilganidek klass faqatqina bitta klassni kengaytirishi mumkin. Bundan farqli o’laroq, klass bir nechta interfeyslarni bajarishi mumkin. Masalan:
public class Mototsikl implements Driveable, Compareable
{

}
Bu xolatda Mototsikl klassi Driveable va Compareable interfeyslarida e’lon qilingan metodlarni bajarishi kerak.
Interfeys klass xisoblanmaydi va ular obyekt yaratish uchun andoza bo’la olmaydi.



  1. Ichki klasslar

Shu vaqtgacha ko’rilgan barcha klasslar yuqori darajadagi klasslar xisoblanadi. Java dasturlash tili klasslarni boshqa klass ichida yoki metod ichida e’lon qilish imkoniyatini beradi. Ushbu klasslar ichki klasslar deb ataladi.


Masalan:
class Kompyuter{
class Xotira
{…
}}
Yuqoridagi misolda Xotira klassi Kompyuter klassini ichki klassi xisoblanadi. Ichki klass, boshqa klass a’zolari singari, u e’lon qilingan qamrov darajasida klass a’zolariga murojaat qilishi mumkin. O’z navbatida ichki klass u e’lon qilingan klass yoki metod a’zosi xisoblanadi. Masalan:
class Kompyuter{
class Xotira{

}
void amalBajarish(){

}}
Yuqoridagi misolda Xotira ichki klassi Kompyuter klassi a’zosi bo’lgan amalBajarish() metodini chaqirishi mumkin. Yoki amalBajarish() metodi Xotira klassi andozasi asosida obyekt yaratishi mumkin.
Boshqa klasslar singari ichki klasslar yuqori darajali klasslar tomonidan murojaat qilinishi xam mumkin. Lekin ushbu murojaatni amalga oshirish uchun murojaat qiluvchi ichki klass joylashgan yuqori darajali klassga ega bo’lishi kerak. Masalan, Kompyuter klassi tashqarisidan Xotira klassi andozasi asosida obyekt yaratish uchun Kompyuter obyektiga ega bolish kerak.
Kompyuter k = new Kompyuter();
Kompyuter.Xotira x = k.new Xotira();
Yuqoridagi misolning birinchi qatorida Kompyuter qiymatini qabul qiluvchi k o’zgaruvchisiga yangi Kompyuter obyekti yaratilib biriktirilgan. Ikkinchi qatorda Kompyuter klassining ichki klassi bo’lgan Xotira qiymatini qabulqiluvchi x o’zgaruvchisiga yangi Xotira obyekti yaratilib biriktirilgan.
Ichki klassni lokal a’zo sifatida metod ichida xam e’lon qilish mumkin. Masalan:
class Kompyuter
{
void amalBajarish()
{
class Xotira()
{
…}
}}
Yuqoridagi misolda Xotira klassi amalBajarish() metodining lokal a’zosi sifatida metodning boshqa a’zolariga yoki Kompyuter klassining a’zolariga murojaat qilishi mumkin. Ammo, Kompyuter klassining a’zolari Xotira klassi metodning lokal a’zosi bo’lganligi sababli unga murojaat qila olmaydi.




  1. Yüklə 1,58 Mb.

    Dostları ilə paylaş:
1   ...   36   37   38   39   40   41   42   43   ...   79




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin