Junior
Məlumatların gizlənməsindən başqa, inkapsulyasiya nəyi əhatə edir?
sobes.tech Süni İntellekt
AI-dan cavab
Yalnızca məlumatların gizlədilməsi (obyektin daxili tətbiqinin xarici dünya tərəfindən gizlədilməsi) ilə yanaşı, kapsülləşmə aşağıdakılardan ibarətdir:
- Məlumatlar və bu məlumatlarla işləyən metodların tək obyektə birləşdirilməsi. Bu, öz-özünə yetərli proqram vahidlərini yaradır.
- Məlumatlara girişin idarə olunması. Giriş modifikatorları (
public,protected,private) vasitəsilə digər obyektlərin obyektin daxili vəziyyəti ilə necə qarşılıqlı əlaqədə ola biləcəyi müəyyən edilir. Bu, məlumatların bütövlüyünü təmin edir və düzgün olmayan dəyişikliklərin qarşısını alır. - Uyğunluğun azaldılması. Yüksək kapsülləşmə səviyyəsi, bir obyekt daxilindəki dəyişikliklərin sistemin digər hissələrinə minimal təsir göstərməsinə kömək edir.
Nümunə:
<?php
class BankAccount {
private $balance; // Məlumatların gizlədilməsi
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 məlumatlarla işləyir
}
}
public function withdraw($amount) {
if ($amount > 0 && $amount <= $this->balance) {
$this->balance -= $amount; // Girişin idarə olunması və bütövlük
return true;
}
return false;
}
public function getBalance() {
return $this->balance; // Nəzarət olunan giriş təmin edirik
}
}
?>
Bu nümunədə, məlumatların gizlədilməsi (private $balance) ilə birlikdə, bu məlumatlara giriş və dəyişiklikləri idarə edən ictimai metodlar (deposit, withdraw, getBalance) təmin edilir. Bu, məlumatlar və məntiqi tək obyektə birləşdirir və kapsülləşməni təmin edir.