Junior
რა არის ინკაპსულაცია?
sobes.tech AI
პასუხი AI-სგან
კაპსულაცია — ეს არის მექანიზმი, რომელიც საშუალებას აძლევს ობიექტის შიდა მდგომარეობის დამალვას და მის გარედან ჩარევიდან დაცვის შესაძლებლობას. იგი აერთიანებს მონაცემებს (მოედებს) და მეთოდებს, რომლებიც მუშაობენ ამ მონაცემებთან, ერთ ბლოკში — კლასში.
C#-ში კაპსულაცია მიღწეულია წვდომის მოდიფიკატორების (public, private, protected, internal, protected internal, private protected) და თვისებების (Properties) გამოყენებით.
მაგალითად, თვისებების გამოყენებით:
public class ადამიანი
{
private int _ასაკი; // პირადი მოედანი
public int ასაკი // საჯარო თვისება, რომელიც უზრუნველყოფს კონტროლირებულ წვდომას _ასაკი მოედანზე
{
get { return _ასაკი; }
set
{
if (value >= 0) // მონაცემების ვალიდაცია
{
_ასაკი = value;
}
else
{
// შეიძლება გამოიწვიოს გამონაკლისი ან სხვა მოქმედება
Console.WriteLine("ასაკი არ შეიძლება იყოს უარყოფითი.");
}
}
}
public string სახელი { get; set; } // ავტომატური თვისება
public void ინფორმაციაგამოჩნე()
{
Console.WriteLine($"სახელი: {სახელი}, ასაკი: {ასაკი}");
}
}
კაპსულაციის უპირატესობები:
- განხილვის დამალვა: ობიექტის შიდა დეტალები დამალულია გარედან კოდიდან.
- წვდომის კონტროლი: მონაცემებზე წვდომა ხორციელდება მეთოდების ან თვისებების მეშვეობით, რაც საშუალებას აძლევს ვალიდაციას და ბიზნეს ლოგიკას.
- გონივრული მოქნილობა: კლასის შიდა განხორციელებაში ცვლილებები არ ახდენს გავლენას მის ინტერფეისს იყენებდეთ გარედან კოდზე.
- მოწყობის გაუმჯობესება: კოდი უფრო სტრუქტურირებულია და ადვილად გასაგებია.