Sinflar V a Ob'ektlar


Download 88.45 Kb.
Sana21.01.2023
Hajmi88.45 Kb.
#1106582
Bog'liq
2 5220041842116007881


Sinflar v a Ob'ektlar
1-bobdan eslaylikki, ob'ekt o'zgaruvchining ma'lumotlar turiga qanday munosabatda bo'lsa, sinf bilan bir xil munosabatda bo'ladi. Ob'ekt sinfning namunasi deyiladi, xuddi shu tarzda, 1954 yilgi Chevroletim transport vositasining namunasidir. SMALLOBJda sinf - nomi smallobj - dasturning birinchi qismida aniqlanadi. Keyinchalik, main() da biz ikkita ob'ektni aniqlaymiz - s1 va s2 - bu sinfning namunalari.
Ikkala ob'ektning har biriga qiymat beriladi va ularning har biri o'z qiymatini ko'rsatadi. Mana dasturning chiqishi:
Data is 1066 ← ob'ekt s1 buni ko'rsatdi
Data is 1776 ← ob'ekt s2 buni ko'rsatdi
Biz dasturning birinchi qismini - smallobj sinfining ta'rifini batafsil ko'rib chiqishdan boshlaymiz. Keyinchalik main() ning ushbu sinf ob'ektlari bilan nima qilishiga e'tibor qaratamiz.
Sinfni Aniqlash
SMALLOBJ ro'yxatidan ko'chirilgan smallobj sinfining ta'rifi (ba'zan spetsifikatsiya deb ataladi):
class smallobj // sinfni aniqlash
{
private:
int somedata; // sinf ma'lumotlari
public:
void setdata(int d) // maʼlumotlarni oʻrnatish uchun aʼzo funksiyasi
{ somedata = d; }
void showdata() // ma'lumotlarni ko'rsatish uchun a'zo funktsiyasi
{ cout << “\nData is “ << somedata; }
};
Ta'rif class kalit so'zidan boshlanadi, undan keyin sinf nomi - bu misolda smallobj. Struktura singari, sinfning tanasi qavslar bilan ajratiladi va nuqta-vergul bilan tugaydi. (Nuqtali vergulni unutmang. Esda tuting, tuzilmalar va sinflar kabi maʼlumotlar konstruksiyalari nuqtali vergul bilan tugaydi, funksiyalar va tsikllar kabi boshqaruv konstruksiyalari esa tugamaydi.)
private va public
Sinfning asosiy qismida ikkita notanish kalit so'z mavjud: xususiy va ommaviy. Ularning maqsadi nima?
Ob'ektga yo'naltirilgan dasturlashning asosiy xususiyati ma'lumotlarni yashirishdir. Bu atama ayniqsa paranoid dasturchilarning faoliyatiga ishora qilmaydi; aksincha, bu ma'lumotlar sinf ichida yashirin bo'lganligini anglatadi, shuning uchun sinfdan tashqaridagi funktsiyalar tomonidan noto'g'ri kirish mumkin emas. Ma'lumotlarni yashirishning asosiy mexanizmi uni sinfga qo'yish va uni shaxsiy qilishdir. Shaxsiy ma'lumotlar yoki funktsiyalarga faqat sinf ichidan kirish mumkin. Boshqa tomondan, umumiy ma'lumotlar yoki funktsiyalarga sinfdan tashqarida kirish mumkin. Bu 6.2-rasmda ko'rsatilgan.
Kimdan Yashirilgan?
Ma'lumotlarni yashirishni kompyuter ma'lumotlar bazalarini himoya qilish uchun ishlatiladigan xavfsizlik texnikasi bilan aralashtirib yubormang. Xavfsizlik chorasini ta'minlash uchun, masalan, ma'lumotlar bazasiga kirish huquqini berishdan oldin foydalanuvchidan parolni kiritishni talab qilishingiz mumkin. Parol ruxsatsiz yoki yomon niyatli foydalanuvchilarni ma'lumotlarni o'zgartirishdan (yoki hatto o'qishdan) saqlash uchun mo'ljallangan.
Boshqa tomondan, ma'lumotlarni yashirish dasturning unga kirishga hojat bo'lmagan qismlaridan ma'lumotlarni yashirishni anglatadi. Aniqroq aytganda, bitta sinf ma'lumotlari boshqa sinflardan yashiringan. Ma'lumotlarni yashirish yaxshi niyatli dasturchilarni halol xatolardan himoya qilish uchun mo'ljallangan. Haqiqatan ham xohlaydigan dasturchilar shaxsiy ma'lumotlarga kirish yo'lini topishlari mumkin, ammo tasodifan buni qilish qiyin bo'ladi.

6.2-rasm. Private va public
Sinf Ma'lumotlari
Smallobj klassi bitta ma'lumot elementini o'z ichiga oladi: somedata, u int tipidagi. Sinf ichidagi ma'lumotlar elementlari ma'lumotlar a'zolari (yoki ba'zan a'zolar ma'lumotlari) deb ataladi. Sinfda ma'lumotlar a'zolarining soni har qanday bo'lishi mumkin, xuddi strukturada har qanday miqdordagi ma'lumotlar elementlari bo'lishi mumkin. Ma'lumotlar a'zosi somedata private kalit so'zidan keyin keladi, shuning uchun unga sinf ichidan kirish mumkin, lekin tashqaridan emas.
Download 88.45 Kb.

Do'stlaringiz bilan baham:




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