ภาษา C# นั้นก็เป็นภาษาแบบ OOP เหมือนกันเพราะฉะนั้นก็จะต้องมีเรื่องของ Access Modifiers เข้ามาเกี่ยวข้องอย่างแน่นอนเพราะการเขียนโปรแกรมแบบ OOP นั้นจะต้องมีการกำหนดสิทธิ์เข้าถึงของแต่ละ Object หรือ member ใน Object แต่ละ Object บทความนี้จึงจะพูดถึง Access Modifiers ในภาษา C# ซึ่งมี 4 แบบด้วยกันคือ
- public
- protected
- internal
- private
ตัวแรกคือ public ตัวนี้เป็น Access Modifiers ที่ไม่สนใจอะไรทั้งนั้นทุกคลาสสามารถอาจถึงและเรียกใช้มันได้เรามาดูโค้ดตัวอย่างกัน ในตอนแรกเราก็สร้าง Console Application ของภาษา C# ดังรูป
เมื่อสร้าง project เสร็จแล้ว ก็ให้ลบ program.cs ออก จากนั้นก็สร้าง class ClassPublic โดยมีโค้ดต่อไปนี้
[sourcecode language=”c#”]
using System;
class MyClass
{
public int x;
public int y;
}
class ClassPublic
{
public static void Main()
{
MyClass myobject = new MyClass();
myobject.x = 10;
myobject.y = 20;
Console.WriteLine(“x = ” + myobject.x);
Console.WriteLine(“y = ” + myobject.x);
Console.ReadLine();
}
}
[/sourcecode]
เมื่อเขียนโค้ดเสร็จแล้วก็ลองกด f5 รันโปรแกรมดูจะเห็นเมื่อในภาพ
ซึ่งจากตัวโค้ดจะเห็นว่า มีคลาสอยู่ 2 คลาสคือ MyClass กับ ClassPublic ซึ่ง ClassPublic นั้นจะเป็นคลาสหลักในการรันโปรแกรมเพราะมี method main นั้นเองโดยภายในจะมีการสร้าง object แบบ MyClass คือคำสั่งนี้
MyClass myobject = new MyClass();
และเมื่อสร้างเสร็จนั้นตัว object ก็จะมีข้อมูลเหมือนกับ MyClass และมีการอ้างถึงตัวแปร x และ โดยตรงโดยมีการกำหนดค่า x และ y ได้โดยตรง ที่สามารถอ้างถึงตัวแปร x และ y โดยตรงได้เพราะ MyClass นั้นมีการออกแบบให้ข้อมูลตัวแปร x และ y นั้นมี Access Modifiers เป็นแบบ public นั้นเอง ซึ่งก็เท่ากับว่าใครๆๆก็สามารถอ้างอิงและเข้าถึงได้นั้นเอง