Sobes.tech
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.