Junior
Ma'lumotlarni yashirishdan tashqari, inkapsulyatsiya nima?
sobes.tech AI
AIdan javob
Ma'lumotlarni yashirish (obyektning ichki amalga oshirilishini tashqi dunyodan yashirish) bilan birga, kapsüllash quyidagilarni o'z ichiga oladi:
- Ma'lumotlar va ular bilan ishlaydigan metodlarni yagona ob'ektga birlashtirish. Bu mustaqil dasturiy birliklarni yaratadi.
- Ma'lumotlarga kirishni nazorat qilish. Kirish modifikatorlari (
public,protected,private) yordamida boshqa obyektlar qanday qilib ob'ektning ichki holati bilan o'zaro aloqada bo'lishi aniqlanadi. Bu ma'lumotlarning yaxlitligini ta'minlash va noto'g'ri o'zgarishlarni oldini olish imkonini beradi. - Kohesiyani kamaytirish. Yuqori darajadagi kapsüllash, bir ob'ekt ichidagi o'zgarishlar tizimning boshqa qismlariga minimal ta'sir qilishiga yordam beradi.
Misol:
<?php
class BankAccount {
private $balance; // Ma'lumotlarni yashirish
public function __construct($initialBalance) {
if ($initialBalance >= 0) {
$this->balance = $initialBalance;
} else {
$this->balance = 0;
}
}
public function deposit($amount) {
if ($amount > 0) {
$this->balance += $amount; // Metodlar ma'lumotlar bilan ishlaydi
}
}
public function withdraw($amount) {
if ($amount > 0 && $amount <= $this->balance) {
$this->balance -= $amount; // Kirish nazorati va yaxlitlik
return true;
}
return false;
}
public function getBalance() {
return $this->balance; // Nazorat ostida kirish ta'minlaymiz
}
}
?>
Ushbu misolda, ma'lumotlarni yashirish (private $balance) bilan birga, unga kirishni va o'zgarishni nazorat qiladigan jamoat metodlari (deposit, withdraw, getBalance) taqdim etilgan. Bu ma'lumotlar va mantiqni yagona ob'ektga birlashtiradi va kapsüllashni ta'minlaydi.