OYD modelining konsepsiyalari Vorislik – bu shunday jarayonki, unda bir obyekt boshqasining xossalarini o‘zlashtirishi mumkin bo‘ladi. Vorislik orqali mavjud sinflar asosida hosilaviy sinflarni qurish mumkin bo‘ladi. Hosilaviy sinf (avlod sinf) o‘zining “ona” sinfidan (ajdod sinfdan) berilganlar va funksiyalarni vorislik bo‘yicha oladi, hamda ular qatoriga faqat o‘ziga xos bo‘lgan qirralarni amalga oshirishga imkon beruvchi berilgan va funksiyalarni qo‘shadi. Ajdod sinfdagi himoyalangan berilgan-a’zolarga va funksiya-a’zolarga ajdod sinfda murojaat qilish mumkin bo‘ladi. Bundan tashqari, hosilaviy sinfda ona sinf funksiyalari qayta aniqlanishi mumkin. Demak, vorislik asosida bir-biri bilan “ona-bola”munosabatidagi sinflar shajarasini yaratish mumkin. Tayanch sinf termini sinflar shajarasidagi ona sinf sinonimi sifatida ishlatiladi. Agar obyekt o‘z atributlarini (berilgan-a’zolar va funksiya-a’zolar) faqat bitta ona sinfdan vorislik bilan olsa, yakka (yoki oddiy) vorislik deyiladi. Agar obyekt o‘z atributlarini bir nechta ona sinflardan olsa, to‘plamli vorislik deyiladi. OYD modelining konsepsiyalari Polimorfizm – bu kodning, bajarilish paytidan yuzaga keladigan holatga bog‘liq ravishda o‘zini turlicha amal qilish xususiyatidir. Polimorfizm faqat obyektlar xususiyati bo‘lmasdan, balki funksiya-a’zolar xususiyatidir va ular xususan, bitta nomdagi funksiya-a’zo vositasida har xil turdagi argumentlarga ega, bajaridagan amali unga uzatiladigan argumentlar turiga bog‘liq bo‘lgan funksiyalar turkumidan foydalanish imkoniyatida namoyon bo‘ladi. Bu holatga funksiyalarni qayta yuklash deyiladi. Polimorfizm amallarga ham qo‘llanishi mumkin, ya’ni amal mazmuni (natijasi) operand (berilgan) turiga bog‘liq bo‘ladi. Polimorfizmning bunday turiga amallarni qayta yuklash deyiladi. OYD modelining konsepsiyalari Polimorfizm yana bir ta’rifi quyidagicha: polimorfizm – bu tayanch sinfga ko‘rsatkichlarning (murojaatlarning) ularni virtual funksiyalarni chaqirishdagi turli shakl (qiymatlarni) qabul qilish imkoniyatidir. C++ tilining bunday imkoniyati kechiktirilgan bog‘lanish natijasidir. Kechiktirilgan bog‘lanishda chaqiriladigan funksiya-a’zolarining xotiradagi adreslari dastur bajarilishi jarayonida dinamik ravishda aniqlanadi. An’anaviy dasturlash tillarida esa bu adreslar statik bo‘lib, ular kompilyasiya paytida aniqlanadi (oldindan bog‘lanish). Kechiktirilgan bog‘lanish faqat virtual funksiyalar uchun o‘rinli.
Do'stlaringiz bilan baham: |