Reja. Kross-platformali dasturlash tili haqida umumiy ma`lumot


Abstrakt sinflar va usullar



Download 0,98 Mb.
bet21/39
Sana07.03.2022
Hajmi0,98 Mb.
#485533
1   ...   17   18   19   20   21   22   23   24   ...   39
Bog'liq
j7WNgrIuzYyWbItD7qqrNdYOmEd13B0L

Abstrakt sinflar va usullar

Abstrakt sinflar


Abstrakt sinflar mavhum kalit so'z bilan belgilangan sinflarni ifodalaydi:


1
2

abstract class Figure {
}

Abstrakt sinflar oddiy sinflarga o'xshaydi (ular maydonlarni, usullarni, konstruktorlarni ham belgilashi mumkin), bundan tashqari biz uning konstruktori yordamida mavhum sinf ob'ektini bevosita yarata olmaymiz.




1
2
3
4

void main (){
// Figure ellipse = Figure(); // так сделать нельзя - класс Figure - абстрактный
}

Qoida tariqasida, mavhum sinflar haqiqatda aniq timsolga ega bo'lmagan ob'ektlarni tavsiflaydi. Masalan, geometrik shakl aylana, kvadrat, uchburchakni ifodalashi mumkin, lekin bunday geometrik shakl o'z-o'zidan mavjud emas. Biz ishlayotgan aniq raqamlar bor. Shu bilan birga, barcha raqamlar qandaydir umumiy funktsiyalarga ega bo'lishi mumkin, masalan, perimetrni, maydonni va boshqalarni hisoblash usullari.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

void main (){
Figure rect = Rectangle(20, 30);
rect.calculateArea();
}
abstract class Figure {
void calculateArea(){
print("Not Implemented");
}
}
class Rectangle extends Figure{
int width;
int height;
Rectangle(this.width, this.height);
void calculateArea(){
int area = width * height;
print("area = $area");
}
}

Bu erda mavhum geometriya klassi konsolga shakl maydonini chop etadigan accountArea () usulini belgilaydi. Rectangle klassi ushbu usul uchun o'zining amalga oshirilishini belgilaydi.


Abstrakt usullar


Yuqoridagi misolda, tayanch klassdagi Figure Area usuli hech qanday foydali ish qilmaydi, chunki mavhum shaklning maydoni bo'lishi mumkin emas. Va bu holda, bunday usul mavhum sifatida yaxshiroq aniqlanadi:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

void main (){
Figure rect = Rectangle(20, 30);
rect.calculateArea();
}
abstract class Figure {
void calculateArea();
}
class Rectangle extends Figure{
int width;
int height;
Rectangle(this.width, this.height);
void calculateArea(){
int area = width * height;
print("area = $area");
}
}

Mavhum usul oddiy usul bilan bir xil tarzda aniqlanadi, faqat usul tanasi o'rniga parametrlar ro'yxatidan keyin nuqta-vergul qo'yiladi: void accountArea () ;.


Shuni ta'kidlash kerakki, mavhum usullarni faqat mavhum sinflarda aniqlash mumkin. Bundan tashqari, agar asosiy sinf mavhum usulni aniqlasa, hosila sinf uni amalga oshirishi kerak, ya'ni usulning tanasini aniqlaydi.




Download 0,98 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   39




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