Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Khác biệt Abstraction (Trừu tượng) và Encapsulation (Đóng gói) trong PHP

Encapsulation (Đóng gói)

  • Gom dữ liệu (thuộc tính) và hành vi (phương thức) vào một đơn vị (class).
  • Cơ chế bảo vệ: thuộc tính private/protected không truy cập trực tiếp từ ngoài.
  • Truy cập qua phương thức public (getter/setter).
  • Giảm độ phức tạp, tăng bảo mật.

Abstraction (Trừu tượng)

  • Chỉ lộ giao diện (interface/abstract method), giấu chi tiết triển khai.
  • Ep buộc lớp con triển khai các phương thức abstract.
  • Dùng abstract class hoặc interface.
  • Lớp abstract không thể khởi tạo trực tiếp.
  • Giảm phức tạp, tăng tái sử dụng.

Tóm tắt

Encapsulation: "Gói gọn dữ liệu, che giấu cách lưu trữ".
Abstraction: "Lộ chức năng, giấu cách thực hiện".