Kasb ta’limi fakultеti



Download 1,8 Mb.
bet48/92
Sana03.01.2020
Hajmi1,8 Mb.
#31888
1   ...   44   45   46   47   48   49   50   51   ...   92
Bog'liq
obektga yonaltirilgan dasturlash tillari -разблокирован-конвертирован

Eslatma


Ba’zan sinfning barcha elementlarini yashirishga to’g’ri keladi. Bu holda sinfning berilishini alohida modulga joylashtirishga to’g’ri keladi, ushbu sinfning ob’yektlarini ishlatuvchi dasturda esa modulga ko’rsatkich qo’yiladi.

Polimorfizm va virtual uslub


Polimorfizm - bu har xil sinflarga kiruvchi uslublar uchun bir hil nomlardan foydalnish imkoniyatidir. Polimorfizmning mohiyati uslubni ob’yektga qo’llanganda, aynan ob’yekt sinfiga tegishli bo’lgan uslubdan foydalinish imkonini beradi.

Quyidagi misolda uchta sinf aniqlangan bo’lib, ulardan biri qolgan ikkitasiga manbaa bo’lsin:


tуре


// Manbaa sinf TPerson = class fname: string; // Ism

constructor Create(name:string); function info: string; virtual; end;

// TPerson sinfidan hosil qilingan TStud = class(TPerson) fgr:integer; // guruh raqami



constructor Create(name:string; gr:integer);

function info: string; override; end;


// TPerson sinfidan hosil qilingan TProf = class(TPerson) fdep:string; // kafedra nomi

constructor Create(name:string; dep:string); function info: string; override;

end;

Ushbu sinflarning har birida info uslubi aniqlangan. Manbaa sinfda virtual direktivasi yordamida info uslubi virtual deb e’lon qilingan. Uslubni virtual holda e’lon qilish avlod sinfga virtual uslubni o’zining uslubiga almashtish imkonini beradi. Har bir avlod sinfda ajdod sinfdagi mos uslubning o’rnini oluvchi o’zining info uslubi aniqlangan. Ajdod sinfdagi virtual uslubning o’rnini oluvchi avlod sinf uslubi override direktivasi bilan belgilanadi.

Quyida har bir sinfning info uslubi aniqlanishi keltirilgan.
function TPerson.info:string;

begin result := ''; end;

function TStud.info:string; begin

result := fname + ' ' + IntTostr(fgr)+’ gr.’;


end;


function TProf.info:string;

begin


result := fname + ' ' + fdep+’ kaf.’;

end;

Har ikki sinf bitta manbaa sinfdan tug’ilgani sababli, talabalar va o’qituvchilar ro’yhatini quyidagicha e’lon qilish mumkin (bu yerda ob’yekt ko’rsatkich ekanligini yodga olish kerak):

list: array[1..SZL] of TPerson;

Ro’yhatni bunday yo’l bilan e’lon qilish mumkin chunki Delphi tili ajdod sinfga qo’yilgan ko’rsatkich orqali avlod sinfga qo’yilgan ko’rsatkichga qiymat yuklash imkonini beradi. Shuning uchun TStud sinfining ob’yekti ham, TProf sinfining ob’yekti ham list massivining elmenti bo’lishi mumkin bo’lishi mumkin.



Talabalar va O’qituvchilar ro’yhatini info uslubini massiv elementiga qo’llash oraqli chiqarish mumkin. Masalan:
st := '';

for i:=1 to SZL do // SZL - massiv ro’yhatining soni

if list[i] <> NIL

then st := st + list[i].Info + #13; ShowMessage (st);
Navbatdagi dastur yuqorida e’lon qilingan TPerson, TStud va TProf sinflaridan foydalanib talabalar va o’qituvchilarning ro’yhatini tashkil qiladi va chiqaradi. Dastur matni 9.1-listingda, muloqot oynasi esa 9.1- rasmda keltirilgan.



Download 1,8 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   92




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