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.