Sobes.tech
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.