Junior
Mi az inkapszuláció?
sobes.tech MI
Válasz az MI-től
Az enkapszuláció egy olyan mechanizmus, amely lehetővé teszi egy objektum belső állapotának elrejtését és védelmét a külső beavatkozásoktól. Ez egyesíti az adatokat (mezőket) és az ezeken dolgozó módszereket egy egységes blokkban — az osztályban.
C#-ban az enkapszulációt hozzáférés módosítók (public, private, protected, internal, protected internal, private protected) és tulajdonságok (Properties) segítségével valósítják meg.
Példa tulajdonságok használatával:
public class Személy
{
private int _kor; // Privát mező
public int Kor // Nyilvános tulajdonság, amely kontrollált hozzáférést biztosít a _kor mezőhöz
{
get { return _kor; }
set
{
if (value >= 0) // Adatvalidálás
{
_kor = value;
}
else
{
// Kivétel dobása vagy más művelet
Console.WriteLine("A kor nem lehet negatív.");
}
}
}
public string Nev { get; set; } // Automatikus tulajdonság
public void InfoKilistaz()
{
Console.WriteLine($"Név: {Nev}, Kor: {Kor}");
}
}
Az enkapszuláció előnyei:
- A megvalósítás elrejtése: Az objektum belső részletei el vannak rejtve a külső kód elől.
- Hozzáférés ellenőrzése: A hozzáférés az adatokhoz módszereken vagy tulajdonságokon keresztül történik, lehetővé téve a validálást és az üzleti logikát.
- Rugalmasság: A belső implementáció változtatásai nem befolyásolják a külső kódot, amely az interfészt használja.
- Karbantartás javítása: A kód strukturáltabbá és érthetőbbé válik.