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.