inkapsuliacija

Inkapsuliacija – tai objektinio programavimo principas, kuris slepią duomenis ir metodus klasės viduje, ribojant tiesioginę prieigą prie jų iš išorės. Tai užtikrina, kad objekto vidinė būsena būtų keičiama tik per viešai prieinamus metodus (getterius, setterius), o ne tiesiogiai.

Pagrindinė idėja:
- Privačūs laukai (duomenys) – pasiekiami tik klasės viduje.
- Vieši metodai – suteikia kontroliuojamą prieigą prie tų laukų.

Pavyzdžiai:

1. Pavyzdys: Banko sąskaita (Java)
java
public class BankoSaskaita {
private double balansas;
// Privatus laukaspasiekiamas tik šios klasės viduje

public void papildyti(double suma) {
if (suma > 0) {
balansas += suma;

}
}

public double gautiBalansa() {
return balansas;
// Prieiga prie balanso tik per metodą
}
}

Kodėl inkapsuliacija?
- Balansas negali būti tiesiogiai pakeistas (pvz., `saskaita.balansas = -1000;
`).
- Pakeitimai vykdomi tik per `papildyti()` metodą, kuris patikrina ar suma teigiama.

2. Pavyzdys: Studentas (Python)
python
class Studentas:
def __init__(self, vardas, amzius):
self.__vardas = vardas Privatus atributas (Python naudoja __)
self.__amzius = amzius

def gauti_amziu(self):
return self.__amzius

def nustatyti_amziu(self, naujas_amzius):
if 16 <= naujas_amzius <= 100:
self.__amzius = naujas_amzius
else:
print("Netinkamas amžius!")

Kodėl inkapsuliacija?
- Amžius patikrinamas prieš nustatant (`nustatyti_amziu()`).
- Išorinės programos negali tiesiogiai pakeisti `__amzius` (klaida: `studentas.__amzius = 120`).

Pagrindiniai privalumai:
1. Apsauga nuo netinkamų duomenų – validacija prieš keitimą.
2. Lankstumas – galima keisti vidinę įgyvendinimą, nekeičiant išorinio kodo.
3. Sujungimas duomenų ir logikos – susiję metodai ir laukai yra vienoje klasėje.

Trumpai: Inkapsuliacija = duomenų paslėpimas + kontroliuojama prieiga.



Jei žinote tikslesnę informaciją paaiškinančią 'inkapsuliacija' reikšmę, galite ją pakeisti: REDAGUOTI BETA
Įrašas
Paaiškinimas

Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.


Kalbų žodynaiJaunimo žodynasVertimasTerminaiTarptautiniai žodžiaiVardaiPavardėsKirčiavimasSapnininkas
© 2020 - 2026 www.zodynas.lt
Draugai: TV Programa Vārdnīca Skaičiuoklė