Java การกำหนดการเข้าถึงคลาส

    Access Modifiers (class) คือการกำหนด หรือ การควบคุมการเข้าถึงคลาส ในการสร้างคลาสนั้น เราสามารถเขียนคลาสซ้อนกันอยู่ภายในได้ คลาสที่อยู่ภายในคลาสอื่นเราเรียกว่า “Inner Class”

    คลาสที่อยู่นอกสุดจะถูกเรียกว่า “Outer Class” เราสามารถกำหนด Access Modifiers ให้ Outer Class ได้ 2 แบบ คือ

public สามารถเข้าถึงได้จากทุกแพกเกจ (package)
default สามารถใช้ได้เฉพาะในแพกเกจของตัวเองเท่านั้น

    ส่วนคลาสที่อยู่ภายในคลาสอื่น หรือ “Inner Class” นั้น นอกจากจะสามารถกำหนดให้เป็นแบบ public กับ default ได้แล้ว เรายังสามารถกำหนดการเข้าถึงคลาสภายในแบบ private และ protected ได้ด้วย โดยมีรายละเอียดดั่งตารางด้านล่าง

private สามารถเรียกใช้ได้ภายในคลาสของตัวเองเท่านั้น
protected คลาสนี้จะใช้ภายในคลาสและคลาสที่สืบทอด (extends) Outer Class นี้ไปเท่านั้น

ตัวอย่าง : 1. การสร้าง public คลาส

ตัวอย่าง : 2. การสร้างคลาส default คลาส

ตัวอย่าง : 3. การสร้างคลาส private คลาส

    การกำหนดการเข้าถึงคลาส เป็นเรื่องของการสร้างความปลอดภัย ในการเรียกใช้งานโปรแกรม เรากำหนดคลาสให้เป็น public เมื่อต้องการให้ถูกเรียกใช้หรือเข้าถึงได้ทุกที่ของโปรแกรม กรณีเป็นค่า default หรือไม่ได้กำหนดอะไรจะเรียกใช้ได้แค่ภายใน Package ของตัวเองเท่านั้น

    และกรณีที่เป็น Inner Class เราจะสามารถกำหนดให้คลาสเป็นแบบ private ได้ หมายความว่า เราตั้งใจจะสร้างคลาสนี้ขึ้นมาเพื่อใช้งานในคลาสของตัวเองเท่านั้น ไม่ต้องการให้คลาสอื่น ๆ เรียกใช้งานได้ ส่วน protected เป็นเรื่องเกี่ยวกับการสืบทอด (Inheritance) เวลากำหนด Access Modifiers ให้กับคลาส ควรพิจารณาตามความเหมาะสมนะคะ 🙂


เรื่องที่เกี่ยวข้อง
– Java Basic


 

ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|