• GetType
  • GetHashCode()
  • MyClass sinfi System.Object
  • ToString , Equals , GetHashCode , GetType
  • Xususiyatlar va metodlar qoshish MyObject
  • Mavzu: System. Object asosiy tayanch sinfidan hosilaviy sinflarni yaratish Nazariy ma’lumotlar: System. Object




    Download 16.44 Kb.
    Sana04.11.2023
    Hajmi16.44 Kb.
    #94116

    3-amaliy
    Mavzu: System.Object asosiy tayanch sinfidan hosilaviy sinflarni yaratish
    Nazariy ma’lumotlar:
    System.Object C# dasturlash tilidagi asosiy tayanch sinfdir (base class). Barcha sinflar uchin bu sinf asosiydir, ya'ni barcha sinflar System.Object sinfini voris sifatida olishadi. System.Object sinfi C# tili uchun qoidalangan asosiy funksiyalarni o'z ichiga oladi, masalan, ToString, Equals, GetHashCode, GetType, va h.k.
    Siz voris sinflarda System.Object sinfindan hosilaviy sinflarni yaratishda quyidagi metodlarni qo'shishingiz mumkin:

    1. ToString(): Bu metod ob'ektning matn ko'rinishini qaytaradi. Agar siz bu metodni o'zgartirmasangiz, C# sinf avtomatik ravishda uning o'zgaruvchilarni matnga o'zgartirgan holda chiqaradi.

    2. Equals(): Ushbu metod ob'ektning ikkala qiymlarini solishtiradi. Bu metodni o'zgartirib, o'z ichiga o'z sinf ma'lumotlarini solishtiradigan shaklda qo'shishingiz mumkin.

    3. GetHashCode(): Bu metod ob'ekt uchun hash kodi olish uchun ishlatiladi. Agar ob'ekt o'zgartirilishi mumkinmas, GetHashCode metodni ham o'zgartiring.

    4. GetType(): Bu metod ob'ektning sinfning ma'lumotlarini qaytaradi. Bu metodni ishlatib, ob'ektning sinfini aniqlashingiz mumkin.

    Misol:
    public class MyClass : Object
    {
    public int MyProperty { get; set; }

    public override string ToString()


    {
    return "Manba sinf (MyClass)";
    }

    public override bool Equals(object obj)


    {
    if (obj == null || this.GetType() != obj.GetType())
    return false;

    MyClass other = (MyClass)obj;


    return this.MyProperty == other.MyProperty;
    }

    public override int GetHashCode()


    {
    return MyProperty.GetHashCode();
    }
    }

    class Program


    {
    static void Main()
    {
    MyClass obj1 = new MyClass { MyProperty = 42 };
    MyClass obj2 = new MyClass { MyProperty = 42 };

    // Equals() ni ishlatish


    bool areEqual = obj1.Equals(obj2);
    Console.WriteLine("obj1 va obj2 tengmi? " + areEqual);

    // Hash kodlarni solishtirish


    int hash1 = obj1.GetHashCode();
    int hash2 = obj2.GetHashCode();
    Console.WriteLine("obj1 hash kodi: " + hash1);
    Console.WriteLine("obj2 hash kodi: " + hash2);
    }
    }

    Bu kodda MyClass sinfi System.Object sinfi asosida yaratilgan va uning metodlarini o'zgartirib qo'shgan. Bu metodlar sinfning o'zini aniqlash, qiymatlarini solishtirish va boshqa operatsiyalarda foydalanish uchun yordam beradi.


    Masalalar:

    1. System.Object sinfini voris sifatida qo'shing va sinfi imzolangan usullari (method) bilan yaratish. Sinfning ob'ektini yarating va uning asosiy tayanch metodlarini (ToString, Equals, GetHashCode, GetType) ishlatib ko'ring.

    2. System.Object sinfindan voris sifatida foydalanish Yaratilgan MyObject sinfini System.Object sinfindan voris sifatida qo'shing. Sinfning ob'ektini yarating va ToString, Equals, GetHashCode, GetType kabi asosiy tayanch metodlarini ishlatib ko'ring.

    3. Xususiyatlar va metodlar qo'shish MyObject sinfiga qo'shimcha xususiyatlar va metodlar qo'shing. Masalan, sinfga "Age" (yosh) xususiyati va "PrintInfo" nomli o'zining metodini qo'shing. Yoshni o'zgartirish va "PrintInfo" metodini ishlatish.

    4. Xususiyat va metodlarni o'zgartirish Sinfdagi xususiyatlarni va metodlarni o'zgartirish. "Age" xususiyatini o'zgartiring va "PrintInfo" metodini o'zgartirib, yangi matn chiqaring.

    Download 16.44 Kb.




    Download 16.44 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mavzu: System. Object asosiy tayanch sinfidan hosilaviy sinflarni yaratish Nazariy ma’lumotlar: System. Object

    Download 16.44 Kb.