Encapsulation
เป็นความสามารถของโปรแกรมภาษาเชิงวัตถุที่ต้องมี ซึ่งเปรียบเสมือนกับการนำเปลือกมาครอบ
Attributes และ Function ของ Class เอาไว้
ลักษณะของเปลือกจะมี สองแบบหลักคือ
เปลือกใส
จะสามารถมองได้จากภายนอก
เปลือกทึบ
จะไม่สามารถเห็นได้จากภายนอก
ภาพของ Class ที่มองเห็นได้จากภายนอกนั้นเรียกว่า Outside
View
Information
Hidding คือ คุณสมบัติของ Object
ที่เมื่อต้องการเข้าถึง Attribute บางตัวของ Object
นั้น จะต้องอาศัยการทำผ่าน Function ที่สามารถมองเห็นและเรียกใช้ได้เท่านั้น
-
เพราะ Attribute ถูกหุ้มด้วยเปลือกทึบ
-
เพราะ Function ถูกหุ้มด้วยเปลือกใส
ประเภทของ
Attribute และ Function
Private
Attributes and Functions
Protected
Attributes and Functions
Public
Attributes and Functions
Private
Attributes and Functions
คือ
Attributes และ Functions ที่ไม่สามารถเห็นได้เลยจากภายนอก
การเข้าถึง Attribute เหล่านี้ได้ต้องผ่านทาง Function
ที่มีไว้เท่านั้น
จะใช้เครื่องหมาย (-) กำกับไว้หน้า Private Attribute
และ Private Function
เช่น อายุของคน
Protected
Attributes and Functions
คือ
Attributes และ Functions ที่ไม่สามารถเห็นได้จากภายนอกแต่เป็นส่วนที่สามารถส่งต่อให้
Inherited Class ได้เท่านั้น
จะใช้เครื่องหมาย (#) กำกับไว้หน้า Protected Attribute
และ Protected Function
เช่น ลักษณะทางกรรมพันธุ์ที่ลูกสืบทอดมาจากพ่อแม่
Public Attributes
and Functions
คือ
Attributes และ Functions ที่สามารถมองเห็นได้และสามารถเรียกใช้ได้โดยตรงจากภายนอก
จะใช้เครื่องหมาย (+) กำกับไว้หน้า Public Attribute
และ Public Function
เช่น สีผม สีผิว
โดยปกติในทาง OO จะใช้สัญลักษณ์ ต่าง ๆ
แทนประเภทของ Attribute หรือ Function ดังต่อไปนี้
+ แทน Public
- แทน Private
# แทน Protected