Sinf-struktura tushunchasi kengaytmasi sifatida


Download 15.02 Kb.
Sana14.01.2023
Hajmi15.02 Kb.
#1093370
Bog'liq
1mta


1.Sinf ta’rifi
Sinf-struktura tushunchasi kengaytmasi sifatida.
Sinflarni eng sodda holda quyidagicha tasvirlash mumkin:
Sinf-kaliti Sinf-soni {komponentalar ro’yxati}
Sinf komponentalari sodda holda turlangan ma’lumotlar va funksiyalardan
iborat bo’ladi. Figurali qavslarga olingan komponentalar ro’yxati Sinf tanasi deb
ataladi. Sinfga tegishli funksiyalar komponenta-funksiyalar yoki sinf funksiyalari
deb ataladi.
Sinf kaliti sifatida struct xizmatchi so’zi ishlatilishi mumkin. Masalan quyi-dagi konstruksiya kompleks son sinfini kiritadi.
struct complex
{
double real;
double imag;
void define (double re = 0.0, double im = 0.0)
{
real = re; imag = im;
}
void display (void)
{
cout< = ”real = ”<
cout< = ”imag = ”<
}
};
Strukturadan bu sinfning farqi shuki, komponenta ma’lumotlardan (real,
imag) tashqari ikkita komponenta funksiya (define() va display()) kiritilgan.
Bu kiritilgan sinf o’zgaruvchilar turi deb qaralishi mumkin. Bu turlar
yordamida konkret ob’ektlarni quyidagicha tasvirlash mumkin:
Misol uchun:
complex x,y;
complex dim[8];
Sinfga tegishli ob’ektlar quyidagicha tasvirlanadi:
Sinf-nomi.ob’ekt-nomi
Dasturda ob’ekt komponentasiga quyidagicha murojaat qilish mumkin:
Sinf-nomi.ob’ekt-nomi :: komponenta-nomi yoki soddaroq holda
Obyekt-nomi. Element-nomi
Misol uchun:
x.real = 1.24;
x.imag = 0.0;
dim[3].Real = 0.25;
dim[3].Imag = 0.0;
Sinfga tegishli funksiyalarga quyidagicha murojaat qilinadi:
ob’ekt-nomi.funksiya-nomi
Misol uchun:
x. define(0.9) (Bu holda real = 0.9 va imag = 0.0)
271
x. define(4.3,20.0) (Bu holda kompleks son 4.3+i*20.0)
display funksiyasi ekranda kompleks son qiymatlarini tasvirlaydi.
Komponenta o’zgaruvchilar va komponenta funksiyalar.
Sinf komponenta o’zgaruvchilari sifatida o’zgaruvchilar, massivlar, ko’rsatkichlar ishlatilishi mumkin. Elementlar ta’riflanganda inisializasiya qilish mumkin emas. Buning sababi shuki, sinf uchun xotiradan joy ajratilmaydi. Komponenta elementlariga komponenta funksiyalar orqali murojaat qilinganda faqat nomlari ishlatiladi. Sinfdan tashqarida sinf elementlariga emas ob’ekt elementlariga murojaat qilish mumkin. Bu murojaat ikki xil bo’lishi mumkin.
Obyekt- nomi. Element - nomi.
Sinf elementlari sinfga tegishli funksiyalarida ishlatilishidan oldin ta’riflangan bo’lishi shart emas. Xuddi shunday bir funksiyadan hali ta’rifi berilmagan ikkinchi funksiyaga murojaat qilish mumkin.
Komponentalarga murojaat huquqlari.
Komponentalarga murojaat huquqi murojaat spesifikatorlari yordamida boshqariladi. Bu spesifikatorlar:
protected – himoyalangan;
private – xususiy;
public – umumiy;
Himoyalangan komponentalardan sinflar ierarxiyasi qurilganda foydalaniladi.
Oddiy holda protected spesifikatori private spesifikatoriga ekvivalentdir. Umumiy
ya’ni public turidagi komponentalarga dasturning ixtiyoriy joyida murojaat qilinishi mumkin. Xususiy ya’ni private turidagi komponentalarga sinf tashqarisidan murojaat qilish mumkin emas. Agar sinflar struct xizmatchi so’zi bilan kiritilgan bo’lsa, uning hamma komponentalari umumiy public bo’ladi, lekin bu huquqni murojaat spesifikatorlari yordamida o’zgartirish mumkin.
Download 15.02 Kb.

Do'stlaringiz bilan baham:




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