Encapsulation gom dữ liệu và phương thức vào class, che giấu chi tiết triển khai, chỉ lộ giao diện public. Thuộc tính đặt private/protected, truy cập qua phương thức public.
Ví dụ: Lớp ATM
<?php
class ATM {
private $custId;
private $atmPin;
public function changePin($custId, $atmPin) { /* logic */ }
public function checkBalance($custId, $atmPin) { /* logic */ }
public function miniStatement($custId) { /* logic */ }
}
$atm = new ATM();
$atm->checkBalance(10005285637, 1234); // chỉ dùng method public
?>
Giải thích
$custId,$atmPinlàprivate: không đọc/ghi trực tiếp.- Chỉ tương tác qua
checkBalance(),changePin()... - Đây là Data Hiding - cốt lõi của encapsulation.
Cách thực hiện
Dùng Access Modifier: public, protected, private.