Sobes.tech
Junior

Dasturlashda abstraktsiya nima?

sobes.tech AI

AIdan javob

Abstraktsiya - bu amalga oshirish tafsilotlarini yashirish va tizim yoki uning komponentlari haqida umumiy tasvir berish imkonini beradigan mexanizm. Bu "nima" ob'ekt qilayotganiga e'tibor qaratadi, "qanday" qilayotganiga emas.

C# da abstraktsiya quyidagi tarzda amalga oshiriladi:

  • Abstrakt sinflar: Ular abstrakt metodlar (implementatsiyasiz) va oddiy a'zolarni o'z ichiga olishi mumkin. Abstrakt sinfning nusxasini yaratish mumkin emas.
    // Abstrakt sinf va abstrakt metod
    public abstract class Shape
    {
        public abstract double GetArea(); // Abstrakt metod
        public string Name { get; set; }
    
        public void DisplayInfo() // Oddiy metod
        {
            Console.WriteLine($"Shakl: {Name}");
        }
    }
    
  • Interfeyslar: Ular sinf bajarishi kerak bo'lgan shartnoma. Faqat metodlar, xususiyatlar, voqealar va indeksatorlar (C# 8 gacha) e'lonlarini o'z ichiga oladi yoki standart implementatsiya bo'lishi mumkin (C# 8 dan boshlab).
    // Interfeys
    public interface IDrawable
    {
        void Draw(); // Implementatsiya qilinmagan metod
    }
    

Abstraktsiya prinsiplari:

  • Kapsüllash: Ma'lumotlar va ular bilan ishlovchi metodlarni bitta blokda birlashtirish. Ichki tuzilmani yashirishga yordam beradi.
  • Merosi: Mavjud sinflardan yangi sinflar yaratish, ularning xususiyatlari va metodlarini meros qilib olish va funksionallikni qo'shish yoki qayta yozish imkonini beradi.

Abstraktsiyaning qo'llanilishi:

  • Murakkab tizimlarni soddalashtirish.
  • Kodingizning moslashuvchanligini oshirish.
  • Texnik xizmat ko'rsatishni yaxshilash.
  • Takror ishlatiladigan komponentlar yaratish.