Mavzu: Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Merosxo’rlik. Polimorfizm. Virtual funksiyalar. Ammallar va usullarni qayta ishlash va qayta aniqlash
Sinflar va ob'ektlar, ob'ektga yo'naltirilgan dasturlashning ikkita asosiy jihati hisoblanadi.
Sinflar va ob'ektlar, ob'ektga yo'naltirilgan dasturlashning ikkita asosiy jihati hisoblanadi.
Sinf va ob'ektlar o'rtasidagi farqni ko'rish uchun quyidagi rasmga qarang:
Car sinfidan obyekt olish
Demak, sinf ob'ektlar uchun shablon, ob'ekt esa sinfning namunasidir. Shaxsiy ob'ektlar yaratilganda, ular sinfdan barcha o'zgaruvchilar va usullarni meros qilib oladi.
Bundan tashqari, siz sinf ob'ektini yaratishingiz va unga boshqa sinfda kirishingiz mumkin. Bu ko'pincha sinflarni yaxshiroq tashkil qilish uchun ishlatiladi (bir sinfda barcha atributlar va usullar mavjud, ikkinchi sinf esa main() usulini (bajarilishi kerak bo'lgan kod) oladi).
Agar siz bir sinfning bir nechta ob'ektini yaratsangiz, bir ob'ektdagi atribut qiymatlarini boshqasidagi atribut qiymatlariga ta'sir qilmasdan o'zgartirishingiz mumkin:
Bu sinf a'zolariga huddi shu sinf a'zosidek kiradigan funktsiya. Boshqa barcha jihatlarda do'stlik funktsiyasi oddiy funksiya kabidir. Bu oddiy funktsiya yoki boshqa sinfning metodi bo'lishi mumkin. Do'stona funksiyani e'lon qilish uchun sinf do'sti qilmoqchi bo'lgan funktsiya prototipi oldidagi friend kalit so'zidan foydalaniladi. Buni sinfning public yoki private qismida e'lon qilishingiz muhim emas