Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ความแตกต่างระหว่าง Abstraction และ Encapsulation ใน PHP


PHP 5 เพิ่ม OOP model เข้ามา ความแตกต่างระหว่าง Abstraction และ Encapsulation:

Encapsulation (การห่อหุ้ม)

  • รวม data members (variables) และ implementation details เป็นหน่วยเดียวคือ Class
  • เป็นกลไกป้องกัน data members ไม่ให้เข้าถึงโดยตรงจากภายนอก
  • Data members เข้าถึงได้เฉพาะผ่าน methods ของคลาสเดียวกัน
  • ใช้ access modifier private และ protected
  • ลดความซับซ้อนของแอปพลิเคชัน

Abstraction (การนามธรรม)

  • แสดงเฉพาะฟีเจอร์ที่จำเป็น ซ่อนรายละเอียดการทำงาน (Implementation details)
  • ซ่อนรายละเอียดการทำงานจากผู้ใช้ แสดงเฉพาะ functionality
  • ใช้ implement polymorphic concepts: ใน abstract class ประกาศเมธอดอย่างเดียว คลาสลูก implement รายละเอียด
  • Abstract class ไม่สามารถ instantiate ได้
  • ลดความซับซ้อน ทำให้โค้ด reusable