Junior
Kas ir abstrakcija programmēšanā?
sobes.tech AI
Atbilde no AI
Apskats ir mehānisms, kas ļauj slēpt īstenošanas detaļas un nodrošināt sistēmas vai tās komponentu vispārēju attēlojumu. Tas koncentrējas uz "ko" objekts dara, nevis uz "kā".
C# valodā abstrakcija tiek īstenota šādi:
- Abstraktas klases: Var saturēt abstraktas metodes (bez īstenošanas) un parastus locekļus. Nav iespējams izveidot abstraktas klases instanci.
// Abstrakta klase ar abstraktu metodi public abstract class Shape { public abstract double GetArea(); // Abstrakta metode public string Name { get; set; } public void DisplayInfo() // Parasts metodes { Console.WriteLine($"Forma: {Name}"); } } - Saskarnes: Definē līgumu, kuru klasei jāievēro. Satur tikai metožu, īpašību, notikumu un indeksatoru deklarācijas (līdz C# 8), vai var saturēt noklusējuma īstenojumu (no C# 8).
// Saskarne public interface IDrawable { void Draw(); // Metode bez īstenošanas }
Abstrakcijas principi:
- Iekapsulēšana: Datu un ar tiem strādājošo metožu apvienošana vienā blokā. Veicina iekšējās struktūras slēpšanu.
- Mantošana: Atļauj izveidot jaunas klases, balstoties uz esošajām, mantojot to īpašības un metodes, un pievienojot vai pārrakstot funkcionalitāti.
Abstrakcijas pielietojums:
- Sarežģītu sistēmu vienkāršošana.
- Koda elastības palielināšana.
- Uzturēšanas uzlabošana.
- Komponentu atkārtota izmantošana.