เริ่มจาก Public scope จะเป็นการเปิดเผยในส่วนของ method หรือ ฟิลด์ให้สามารถมีการใช้งานได้จากภายนอก
- Private Scope จะเป็นการซ่อนในส่วนของ method หรือ ฟิลด์ทั้งหมดจากการเข้าถึงการใช้งานจากภายนอก
- Protected Scope สามารถให้มีการเข้าใช้งานแบบมีข้อจำกัดจากภายนอกได้
- Package Scope เป็นความสัมพันธ์ของคราสใน package ในส่วนของการใช้กลไกที่เรียกว่า reverse domain-naming mechanism
จากนี้เราลองมาดูวิธีการใช้งานกันนะครับ
เริ่มจาก Public scope ในส่วนของการใช้งานเริ่มจากการใช้งานกับ Attribute การใช้งานเราจะประกาศหน้าส่วนของ Attribute เช่น
public int A;
นอกจากนั้น Public ยังสามารถใช้งานในส่วนของmethod ได้ด้วยเช่น
public void calla (int a)
{
}
และยังสามารถใช้งานร่วมกับคราสได้เช่น
public class sample A
{
}
ในการใช้งานของ public นั้นสามารถที่จะให้มีการใช้งาน การเข้าถึงในส่วนของการเรียกใช้งานได้อย่างไม่มีข้อจำกัด สามารถใช้ได้ในทุก package ยกตัวเช่น
public String getName()
{
return name;
}
return name;
}
จากในส่วนของ public คราสด้านบน จะสามารถมีการเรียกใช้งานได้ในทุก package และจะมีการ return name กลับไปได้
ต่อมาในส่วนของ private นั่นสามารถใช้งานได้เหมือนกับในส่วนของ public คือสามารถใช้ในส่วนของ class method และ Attribute เช่น
private class A {
}
private void calla(int a)
{
}
private int a;
ในส่วนของ private นั้นจะเป็นการสร้างที่ป้องกันการเรียกใช้งานจาก package อื่นๆจะสามารถมีการใช้งานได้เพียงแต่ package นั้นๆ แม้แต่ subclass ก็ไม่สามารถใช้งานได้ ยกตัวอย่างของการใช้งาน private เช่นprivate void setPassword(String password)
{
this.password = password;
}
this.password = password;
}
จากmethod ด้านบน การเรียการใช้งานในส่วนของ setPassword จะไม่สามารถถูกเรียกการใช้งานจากภายนอกได้ แต่ถ้าหากจะมีการเรียกใช้งาน ก็ต้องมีการเรียกใช้งานจากใน package เดียวกันกับ private
ต่อมาในส่วนของอันสุดท้ายของ protected ในส่วนของ protected นั้นจะมีความคล้ายคลึงกับ private ที่มีการป้องกันการเข้าใช้งานจากภายนอกเหมือนกันแต่เพียงว่า protected นั้นจะมีการอนุญาตให้ subclass เข้ามาใช้งานได้ในส่วนของ protected นั้นก็เหมือนกัน public และ private คือสามารถใช้ได้ทั้ง class method และ attribute ได้เช่น
protected class A{
}
protected void call A (int a){
}
protected int A;
ในส่วนของการใช้งานนั้น หากจะมีการใช้งานในส่วนของ protected จะต้องทำการ inheritance จาก class หลัก จากนั้น subclass จะสามารถใช้งานในส่วนของตัวแปรหรือ method ของ class นั้นๆได้ยกตัวอย่างเช่น
class a
{ protected int a;
}
class b extend a
{
a = 1;
}
จากด้านบน b สามารถใช้งานในส่วนของ attribute จากคราส a ได้แม้จะเป็นการป้อนกันก็ตาม แต่หากสมมุติมีคราสอื่นที่ต้องการมาใช้งานในส่วนของ a จะไม่สามารถที่จะเข้ามาใช้งานได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น