Junior
Инкапсуляция эмне үчүн маалыматтарды жашыруудан башка эмне камтыйт?
sobes.tech AI
AIден жооп
Маалыматтарды жашыруу (объекттин ички ишке ашырылышын тышкы дүйнөдөн жашыруу) менен бирге, капсулдаштыруу төмөнкүлөрдү камтыйт:
- Маалыматтар жана алар менен иштеген ыкмаларды бир объектке бириктирүү. Бул өзүн-өзү жетиштүү программалык бирдиктерди түзөт.
- Маалыматтарга кирүүнү көзөмөлдөө. Кирүү модификаторлору (
public,protected,private) аркылуу башка объекттер объекттин ички абалы менен кандайча өз ара аракеттене алат аны аныктоо. Бул маалыматтын бүтүндүгүн камсыз кылууга жана туура эмес өзгөртүүлөрдүн алдын алууга мүмкүндүк берет. - Кыскача байланыштуулукту азайтуу. Жогорку деңгээлдеги капсулдаштыруу бир объекттин ичинде жасалган өзгөртүүлөр системанын башка бөлүктөрүнө минималдуу таасир этетине көмөктөшөт.
Мисал:
<?php
class BankAccount {
private $balance; // Маалыматты жашыруу
public function __construct($initialBalance) {
if ($initialBalance >= 0) {
$this->balance = $initialBalance;
} else {
$this->balance = 0;
}
}
public function deposit($amount) {
if ($amount > 0) {
$this->balance += $amount; // Методтор маалыматтар менен иштейт
}
}
public function withdraw($amount) {
if ($amount > 0 && $amount <= $this->balance) {
$this->balance -= $amount; // Кирүү көзөмөлү жана бүтүндүк
return true;
}
return false;
}
public function getBalance() {
return $this->balance; // Көзөмөлдөнгөн кирүүгө мүмкүндүк берүү
}
}
?>
Бул мисалда, маалыматтарды жашыруу (private $balance) коомдук ыкмалар (deposit, withdraw, getBalance) менен айкалышкан, алар ушул маалыматтарга кирүүнү жана өзгөртүүнү көзөмөлдөйт. Бул маалыматтар жана логиканы бир объектке бириктирип, капсулдаштыруу камсыз кылынат.