Sobes.tech
Junior

Veri gizlemenin yanı sıra kapsülleme neyi içerir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Veri gizleme (nesnenin iç uygulamasını dış dünyadan saklama) dışında, kapsülleme şunları içerir:

  • Veri ve bu verilerle çalışan metodların tek bir nesnede birleşimi. Bu, kendi kendine yeten program birimleri oluşturur.
  • Veriye erişim kontrolü. Erişim belirteçleri (public, protected, private) kullanılarak, diğer nesnelerin nesnenin iç durumuyla nasıl etkileşime girebileceği belirlenir. Bu, veri bütünlüğünü sağlar ve yanlış değişiklikleri önler.
  • Bağlılığın azaltılması. Yüksek kapsülleme seviyesi, bir nesne içindeki değişikliklerin sistemin diğer bölümlerini minimum düzeyde etkilediğine katkıda bulunur.

Örnek:

<?php

class BankAccount {
    private $balance; // Veriyi gizle

    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 verilerle çalışır
        }
    }

    public function withdraw($amount) {
        if ($amount > 0 && $amount <= $this->balance) {
            $this->balance -= $amount; // Erişim kontrolü ve bütünlük
            return true;
        }
        return false;
    }

    public function getBalance() {
        return $this->balance; // Kontrollü erişim sağlıyoruz
    }
}

?>

Bu örnekte, veri gizleme (private $balance) ile birlikte, bu verilere erişimi ve değişiklikleri kontrol eden kamu metodları (deposit, withdraw, getBalance) sağlanmıştır. Bu, verileri ve mantığı tek bir nesnede birleştirir ve kapsüllemeyi sağlar.