Kommunikatsiyalarini rivojlantirish vazirligi muso al-xorazmiy nomidagi toshkent axborot texnologiyalari



Download 238,77 Kb.
Pdf ko'rish
bet2/5
Sana15.12.2022
Hajmi238,77 Kb.
#886725
1   2   3   4   5
Bog'liq
Dasturlash 17-mustaqil ishi

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


Abstrakt sinflar tashkil etish va ulardan foydalanish usullari. 
 
Abstract kalit so'zi bilan yaratilgan sinflar abstrakt sinflar deb nomlanadi. Abstract sinflar abstakt 
metodlar (tanasi yozilmagan metod) yoki abstrakt bo'lmagan metodlardan (tanasi yozilgan metod) tashkil 
topgan bo'ladi. 
Abstrakt class quyidagicha e'lon qilinadi: 
abstract class A{}
Tanasi (implementation) yozilmagana va abstract kalit so'zi bilan yaratilgan metod — abstrakt metod 
deyiladi. 
abstract void funksiya(); // tanasi yo'q va asbtrakt
Abstrakt metodi bor bo'lgan abstrakt classga misol: 
abstract class Motosikl{
abstract void run();
}
class Honda extends Motosikl{
void yurmoq(){System.out.println("Yurmoqda...");}
public static void main(String args[]){
Motosikl obj = new Honda();
obj.yurmoq();
}

Natija: 
Yurmoqda...
Yuqoridagi misolda Honda classi bitta abstrakt metodi (yurmoq) bor bo'lgan Motosikl abstarkt classidan 
nasl olayapti va uning abstrakt classi tanasini realizatsiya qilayapti. Amaliyotda abstrakt class bir nechta 
sinflar uchun ota class vazifasini bajaradi va abstrakt metodlar turli bola sinflarda turlicha realizatsiya 
qilinadi. Shuningdek abstrakt class konstruktor, tanasi bor metod, ma'lumotlar va hattoki main() metodga 
ega bo'lishi mumkin. Quyidagi misolga qarang: 
abstract class Motosikl{
Motosikl(){System.out.println("Motosikl yaratildi");}
abstract void yurmoq();
void tezlikOshirish(){System.out.println("tezlik oshirildi");}
}
class Honda extends Motosikl{
void yurmoq(){System.out.println("yurmoqda...");}
}
class MainClass{
public static void main(String args[]){
Motosiklobj = new Honda();
obj.yurmoq();
obj.tezlikOshirish();
}



Natija: 
Motosikl yaratildi 
yurmoqda... 
tezlik oshirildi 
Esda tuting: Agar class tarkibida bitta bo'lsa ham abstarkt metod mavjud bo'lsa, class ham abstract bo'lishi 
kerak. Agar biror class abstrakt classdan voris olsa uning barcha abstrakt metodlarini realizatsiya qilishi 
kerak yoki o'zi ham abstrakt class bo'lishi kerak. 
Oddiy darslardan tashqari C# da ham abstrakt sinflar mavjud. Sinflar odatda qandaydir ob'ekt yoki ob'ekt 
uchun qandaydir rejani ifodalaydi. Masalan, avtomobillarni ifodalash uchun Car sinfini yoki odamlarni 
ifodalash uchun Person sinfini ushbu sinflarga ushbu ob'ektlarni tavsiflovchi tegishli xususiyatlar, 
maydonlar va usullarni joylashtirish orqali belgilashimiz mumkin. 
Biroq, biz dasturlash tilidan foydalangan holda ifodalamoqchi bo'lgan ba'zi ob'ektlar o'ziga xos dasturga 
ega bo'lmasligi mumkin. Masalan, aslida bunday geometrik shakl yo'q. Doira, to'rtburchak, kvadrat bor, 
lekin oddiygina raqam yo'q. Biroq, aylana ham, to'rtburchak ham umumiy narsaga ega va ular raqamlardir. 
Va aniq amalga oshirishga ega bo'lmagan bunday ob'ektlarni tavsiflash uchun mavhum sinflar 
mo'ljallangan. Abstrakt sinf oddiy sinfga o'xshaydi. Bundan tashqari, o'zgaruvchilar, usullar, 
konstruktorlar, xususiyatlar bo'lishi mumkin. Yagona narsa shundaki, mavhum sinflarni belgilashda 
mavhum kalit so'z ishlatiladi. Masalan, transport vositasini ifodalovchi mavhum sinfni aniqlaymiz: 
Avtomobil ma'lum bir amalga oshirishga ega bo'lmagan ba'zi bir mavhumlikni ifodalaydi. Ya'ni, 
mashinalar va yuk mashinalari, samolyotlar, kemalar bor, kimdir kosmik kemaga minishni yaxshi ko'radi, 
ammo bunday transport vositasi yo'q. Biroq, barcha transport vositalarining umumiy jihati bor - ular 
harakatlana oladi. Va buning uchun sinfda harakatga taqlid qiluvchi Move usuli aniqlanadi. Ammo 
mavhum sinflar va oddiy sinflar o'rtasidagi asosiy farq shundaki, biz sinfning namunasini yaratish uchun 
mavhum sinf konstruktoridan foydalana olmaymiz. Masalan, quyidagicha: 
Biroq, mavhum sinflar olingan sinflar meros qilib olishi va foydalanishi mumkin bo'lgan ba'zi umumiy 
funktsiyalarni tavsiflash uchun foydalidir: 


Bunday holda, Transport klassi har xil turdagi transport vositalarini ifodalovchi uchta sinfni meros qilib 
oladi. Biroq, ularning bir umumiy tomoni bor - ular Move() usuli yordamida ko'chirilishi mumkin. 
Yuqorida mavhum sinfning konstruktoridan foydalanib, ushbu sinfning namunasini yaratish mumkin 
emasligi haqida yozilgan edi. Biroq, bunday sinf konstruktorlarni ham belgilashi mumkin: 
Bunday holda, konstruktor mavhum Transport sinfida aniqlanadi - parametrdan foydalanib, u avtomobil 
nomini saqlaydigan Name xususiyatining qiymatini o'rnatadi. Va bu holda, hosila sinflar o'zlarining 
konstruktorlarida ushbu konstruktorni chaqirishlari kerak. 



Download 238,77 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish