1. System. Object sinfi va uning usullari Umumlashtirish Umumlashganlarning cheklovlari


Download 48.75 Kb.
bet8/11
Sana19.06.2023
Hajmi48.75 Kb.
#1600338
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
11 System Object asosiy tayanch sinfidan hosilaviy sinflarni yaratish

Sinflar

  • Interfeyslar

  • class - umumiy parametr sinfni ifodalashi kerak

  • struct - Umumiy parametr strukturani ifodalashi kerak

  • new() - umumiy parametr umumiy (public) parametrsiz konstruktorga ega bo'lgan turni ifodalashi kerak



    Standart cheklovlar. Biz foydalanishimiz mumkin bo'lgan bir qator standart cheklovlar mavjud. Xususan, siz faqat tuzilmalar yoki boshqa qiymat turlari ishlatilishi uchun cheklovni belgilashingiz mumkin:
    class Account where T : struct
    {}

    Shu bilan birga, sinflardan farqli o'laroq, beton konstruktsiyalarni cheklash sifatida ishlatish mumkin emas. Shuningdek, siz ma'lumot turlarini cheklovlar sifatida o'rnatishingiz mumkin:


    class Transaction where T : class
    {}

    Shuningdek, siz new so'zidan umumiy parametrsiz konstruktorga ega bo'lgan sinf yoki tuzilmani belgilash uchun cheklov sifatida foydalanishingiz mumkin:


    class Transaction where T : new()
    {}

    Agar universal parametr uchun bir nechta cheklovlar belgilangan bo'lsa, ular ma'lum bir tartibda borishlari kerak:


    Sinf nomi, class, struct. Bundan tashqari, biz bir vaqtning o'zida ushbu cheklovlardan faqat bittasini aniqlay olamiz.
    Interfeys nomi
    new()
    Masalan:
    interface IAccount
    {
    int CurrentSum { get; set;}
    }
    class Person
    {
    public string Name { get; set; }
    }
    class Transaction where T: Person, IAccount, new()
    {
    }


    Bir nechta umumiy parametrlardan foydalanish. Agar sinf bir nechta universal parametrlardan foydalansa, siz ularning har biriga ketma-ket cheklovlarni o'rnatishingiz mumkin:
    class Transaction
    where U : Account
    where V : struct
    {
    }



    Download 48.75 Kb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4   5   6   7   8   9   10   11




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