• Yodda tuting
  • – qoida: Abstract metodlarni yaratishda metod nomi oldiga abstract so’zini qo’shish kerak va abstract metodlarning tanasi bo’lmaydi. 2 – qoida




    Download 114,28 Kb.
    bet8/11
    Sana17.05.2024
    Hajmi114,28 Kb.
    #239885
    1   2   3   4   5   6   7   8   9   10   11
    Bog'liq
    KURS IWI

    1 – qoida: Abstract metodlarni yaratishda metod nomi oldiga abstract so’zini qo’shish kerak va abstract metodlarning tanasi bo’lmaydi.
    2 – qoida: Hech bo’lmaganda bitta bo’lsa ham abstract metodni o’z ichiga olgan sinf o’z – o’zidan abstract sinfga aylanadi va sinf nomi oldiga abstract so’zi qo’shib qo’yiladi.
    3 – qoida: Abstract sinflar umumiylikni saqlab turish uchun yaratiladi va ularning kostruktori e’loni ham mavjud bo’lmaydi.
    Yuqoridagi dasturda hayotdagi haqiqiy voqeani aks ettirdik deyishimiz mumkin. “Shakl” sinfi mavhum (abstract) va “Aylana”, “Uchburchak” sinflari uchun ajdod sinf. Undagi Chizish() metodi ham hech qanday vazifa bajarmasdan faqat umumiylikni saqlab turish uchun yaratildi va voris sinflarda ushbu metodni qayta aniqladik (override kalit so’zi orqali).Yakunda yana bir muhim qoidani bilishingizni ta’kidlab, shu bilan mavzuni o’z nihoyasiga yetkazamiz:
    Yodda tuting: Agar ajdod sinfdagi metod virtual bo’lsa, bu sinfdan voris olganimizda bu metodni qayta aniqlashimiz majburiy emas, ya’ni agar ehtiyoj bo’lsagina qayta aniqlaymiz. Agar ajdod sinfdagi metod abstract bo’lsa bu sinfdan voris olganimizda bu metodni qayta aniqlashga majburmiz.
    C# interfeys sinfining qisman bajarilishini ta’minlash uchun ishlatiladigan abstrakt sinflarni yaratishga imkon beradi. Abstrakt sinflar voris sinf tomonidan amalga oshiriladigan abstrakt metodlarni o‘z ichiga oladi.
    Abstrakt sinfdan tashqarida abstrakt metodni e’lon qilib bo‘lmaydi. Sinf override deb e’lon qilinganda, undan voris olinmaydi, abstrakt sinflar override deb e’lon qilinishi mumkin emas. Virtual metodlar turli xil voris sinflarda turli xil metodlar bilan amalga oshirilishi mumkin va ushbu metodlarga chaqirish ish vaqtida hal qilinadi. Dinamik polimorfizm abstrakt sinflar va virtual metodlar bilan amalga oshiriladi.
    Quyidagi dastur buni namoyish etadi:
    using System;
    namespace PolymorphismApplication {
    class Shakl {

    Download 114,28 Kb.
    1   2   3   4   5   6   7   8   9   10   11




    Download 114,28 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    – qoida: Abstract metodlarni yaratishda metod nomi oldiga abstract so’zini qo’shish kerak va abstract metodlarning tanasi bo’lmaydi. 2 – qoida

    Download 114,28 Kb.