Junior
Proqramlaşdırmada abstraksiya nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Abstraksiya, tətbiq detallərini gizlətməyə və sistem və ya onun komponentləri haqqında ümumi təqdimat təmin etməyə imkan verən mexanizmdir. Bu, obyektin "nə" etdiyinə deyil, "nə" etdiyinə diqqət yetirir.
C#-da abstraksiya aşağıdakı yollarla həyata keçirilir:
- Abstrakt siniflər: Abstrakt metodlar (implementasiya olmadan) və adi üzvlər içərə bilər. Abstrakt sinifin nümunəsini yaratmaq olmaz.
// Abstrakt sinif və abstrakt metod public abstract class Shape { public abstract double GetArea(); // Abstrakt metod public string Name { get; set; } public void DisplayInfo() // Adi metod { Console.WriteLine($"Forma: {Name}"); } } - İnterfeyslər: Bir sinfin yerinə yetirməli olduğu müqaviləni müəyyən edir. Yalnız metodların, xüsusiyyətlərin, hadisələrin və indeksatorların bəyanatlarını ehtiva edir (C# 8-ə qədər), və ya defolt implementasiya ehtiva edə bilər (C# 8-dən sonra).
// İnterfeys public interface IDrawable { void Draw(); // Implementasiya olmadan metod }
Abstraksiyanın prinsipləri:
- İnkapulsasiya: Məlumatlar və bu məlumatlar üzərində işləyən metodların bir blokda toplanması. Daxili strukturu gizləməyə kömək edir.
- Miras: Mövcud siniflər əsasında yeni siniflər yaratmağa imkan verir, onların xüsusiyyətlərini və metodlarını miras alır və funksionallığı əlavə edir və ya yenidən tərtib edir.
Abstraksiyanın tətbiqi:
- Mürəkkəb sistemlərin sadələşdirilməsi.
- Koddakı elastikliyi artırmaq.
- Baxımını yaxşılaşdırmaq.
- Yenidən istifadə edilə bilən komponentlər yaratmaq.