Java Access Modifiers
Java Access Modifiers เป็นการระบุว่า Class ภายนอก หรือ Class อื่นๆ ให้เข้าถึง Class หนึ่งๆได้มากน้อยเพียงใดภายใน Class หนึ่งๆ สามารถระบุแยกต่างหากสำหรับ Fields , Constructor และ method ได้
Access Modifiers แบ่งเป็น 4 ระดับ ดังนี้
1. private เป็นการระบุว่า ภายใน Class เดียวกันเท่านั้นที่จะเข้าถึงกันได้ สามารถระบุให้ Fields,Constructor และ Method แต่ไม่อนุญาติให้ระบุให้ Class ถ้าสมมุติว่าระบุให้ Class แล้วทำให้ Class อื่นเข้าถึง Class ที่ระบุไม่ได้ แล้วจะสร้าง Class นี้มาเพื่ออะไร
private นิยมระบุให้ Fields ของ Instance ทำให้ไม่สามรถเข้าถึง Fields นั้นๆโดยตรงได้
การเข้าถึงนั้น private Fields ส่วนมากเขาจะเข้าถึงกันผ่าน method ชื่อ getter และ setter
method getter คือ การเรียกใช้ Fields
method setter คือ การกำหนดค่าให้กับ Fields
การทำแบบนี้เพื่อเป็นไม่ให้เข้าถึง Fields ได้โดยตรง มีประโยชน์มากมาย เช่น ถ้าเราไม่ต้องการให้เขา set ค่าให้เราใหม่ เรา set ค่าให้เขาไว้แล้วให้เขาใช้ค่านี้ห้ามเปลี่ยนแปลง ให้เขา get ค่าเราไปใช้อย่างเดียว นี้ก็เป็นเพียงเหตุผลเล็กน้อย แต่จริงๆแล้วมันมีผลกับหลักการออกแบบ OOP หัวข้อ Encapsulation ซึ่งจะขอกล่าวในบทความอื่นๆ
ตัวอย่าง code
private Constructor
ถ้า Constructor ระบุ private นั้นหมายถึง Constructor นี้ไม่สามารถเรียกจากภายนอก Class ได้ แต่ Constructor นี้จะสามารถเรียกจาก Constructor อื่นๆภายใน Class ได้ หรือ เรียกจาก Static Method ภายใน Class ก็ได้
ตัวอย่าง code
ตัวอย่าง code
3. protected เป็นการระบุ เช่นเดียวกับ default ที่เพิ่มมาคือ subclass สามารถเข้าถึง superclass ได้แม้ว่าจะอยู่คนละ package กัน
ตัวอย่าง code
4. public เป็นการระบุว่าเป็น สารธณะ สามารถเข้าถึงได้หมดไม่ว่าจะอยู่ที่ใดก็ตาม
รูปสรุป Java Access Modifiers
ไม่มีความคิดเห็น:
แสดงความคิดเห็น