Access Modifier

เวลาเขียนโค้ด คงจะต้องเคยเห็นคำว่า Private, Protected, Public เหล่านี้เป็นแน่ คำพวกนี้เรียกว่าเป็น Access Modifier หรือแปลเป็นไทยว่า “ตัวดัดแปลงการจำกัด” น่าจะได้ เพราะว่ามันใช้ในการจำกัดการมองเห็นของ member ใน class หรือ structure

ใน .NET Framework มี Access Modifier อยู่ 5 ประเภท
Private = เห็นได้เฉพาะใน Class หรือ Module หรือ Structure นั้นๆ
Protected = คลาสลูกหลานที่ Inherit ไปก็จะเห็นด้วย
Friend (c# ใช้คำว่า internal) = คลาสใดๆ ก็ตามที่อยู่ใน Project เดียวกัน (Assembly เดียวกัน) จะเห็นด้วย
Protected Friend (c# ใช้คำว่า protected internal) = เหมือนกับ Friend คือต้องเป็นคลาสใน Project เดียวกันจึงจะเห็น แต่มีพิเศษคือ หากมีคลาสอยู่นอก Project แต่มันเป็นลูกหลานของคลาสนั้น ก็จะสามารถเห็นได้เหมือนกัน
Public = เห็นได้หมดทุกที่

อธิบายด้วยรูปน่าจะเข้าใจง่ายที่สุด

access modifier

ผลที่เกิดคือ
AAA จะเห็นเฉพาะใน ClassA
BBB จะเห็นใน ClassA และ ClassB
CCC จะเห็นใน ClassA, ClassB และ ClassC
DDD จะเห็นใน ClassA, ClassB, ClassC และ ClassD
EEE จะเห็นในทุกที่

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: