Access Modifiers (Specifiers) ใน C# พร้อมตัวอย่างโปรแกรม
⚡ สรุปอย่างชาญฉลาด
Access modifiers in C# are keywords that set the visibility of a class, property, or method, restricting which external programs can reach them. Constructors initialize field values automatically whenever an object of the class is created.

Access Modifier (ตัวระบุ) ใน C # คืออะไร
ตัวแก้ไขการเข้าถึง or Access Specifiers in C# are the keywords used to define the visibility of a class property or method. It is used when you do not want other programs to see the properties or methods of a class. Access modifiers restrict access so that other programs cannot see the properties or methods of a class.
ตัวแก้ไขการเข้าถึงมี 6 ประเภทใน C#:
- Private
- สาธารณะ
- มีการป้องกัน
- ภายใน
- ป้องกันภายใน
- ได้รับการคุ้มครองส่วนตัว
เราจะเรียนรู้เกี่ยวกับตัวแก้ไขการเข้าถึงหลักใน C# พร้อมตัวอย่างโปรแกรมตามที่อธิบายไว้ด้านล่าง
ตัวแก้ไขการเข้าถึงส่วนตัวใน C #
เมื่อแนบตัวแก้ไขการเข้าถึงส่วนตัวกับคุณสมบัติหรือวิธีการ หมายความว่าสมาชิกเหล่านั้นไม่สามารถเข้าถึงได้จากโปรแกรมภายนอกใดๆ
ตัวอย่างตัวแก้ไขการเข้าถึงส่วนตัว
ลองยกตัวอย่างและดูว่าเกิดอะไรขึ้นเมื่อเราใช้ตัวแก้ไขการเข้าถึงส่วนตัว
มาแก้ไขโค้ดปัจจุบันในไฟล์ Tutorial.cs ของเรากัน ในวิธี SetTutorial เราจะเปลี่ยนคำสำคัญสาธารณะเป็นส่วนตัว
ตอนนี้เรามาสลับไปใช้ไฟล์ Program.cs ของเรากันดีกว่า คุณจะสังเกตเห็นว่ามีเส้นหยักสีแดงอยู่ใต้วิธี SetTutorial
เนื่องจากเราได้ประกาศเมธอด SetTutorial เป็นแบบส่วนตัวในคลาส Tutorial แล้ว Visual Studio จึงตรวจพบสิ่งนี้ และได้แจ้งผู้ใช้โดยไฮไลต์ว่าเมธอดนี้จะใช้งานจากไฟล์ Program.cs ไม่ได้
ตัวดัดแปลงการเข้าถึงสาธารณะ C #
เมื่อแนบตัวแก้ไขการเข้าถึงแบบสาธารณะกับคุณสมบัติหรือวิธีการ หมายความว่าสมาชิกเหล่านั้นสามารถเข้าถึงได้จากโปรแกรมภายนอกใดๆ เราได้เห็นสิ่งนี้แล้วในตัวอย่างก่อนหน้านี้ของเรา
ตัวอย่างตัวแก้ไขการเข้าถึงสาธารณะ
เนื่องจากเราได้กำหนดวิธีการของเราเป็นแบบสาธารณะในคลาส Tutorial จึงสามารถเข้าถึงได้จากไฟล์ Program.cs
ตัวแก้ไขการเข้าถึงที่ได้รับการป้องกันใน C #
เมื่อตัวแก้ไขการเข้าถึงที่ได้รับการป้องกันถูกแนบไปกับคุณสมบัติหรือวิธีการ หมายความว่าสมาชิกเหล่านั้นสามารถเข้าถึงได้โดยเท่านั้น คลาสที่สืบทอดมา จากปัจจุบัน ชั้น- เราจะอธิบายรายละเอียดเพิ่มเติมในคลาส Inheritance
ตัวดัดแปลงการเข้าถึงภายใน C #
เมื่อมีการแนบตัวแก้ไขการเข้าถึงภายในกับคุณสมบัติหรือวิธีการ สมาชิกเหล่านั้นสามารถเข้าถึงได้โดยโปรแกรมภายในเท่านั้น แต่ไม่สามารถเข้าถึงได้โดยโปรแกรมภายนอก
ตัวสร้าง C#
C# ตัวสร้างใช้ในการเริ่มต้นค่าของฟิลด์คลาสเมื่อวัตถุที่เกี่ยวข้องถูกสร้างขึ้น Constructor คือ method ที่มีชื่อเดียวกับ class หากมีการกำหนด Constructor ในคลาส มันจะจัดเตรียมเมธอดแรกซึ่งจะถูกเรียกเมื่อสร้างอ็อบเจ็กต์ สมมติว่าเรามีคลาสที่เรียกว่า Employee วิธีการสร้างก็จะตั้งชื่อเป็น Employee()
สิ่งสำคัญต่อไปนี้จำเป็นต้องสังเกตเกี่ยวกับวิธีการสร้าง
- ตัวแก้ไขการเข้าถึงเริ่มต้นของ C# สำหรับตัวสร้างจำเป็นต้องทำให้เป็นสาธารณะ
- ไม่ควรมีประเภทการส่งคืนสำหรับวิธีคอนสตรัคเตอร์
ตัวอย่างของตัวสร้าง C#
ตอนนี้เรามาดูกันว่าเราจะรวมผู้ใช้ Constructor เข้ากับโค้ดของเราได้อย่างไร เราจะใช้ตัวสร้างเพื่อเริ่มต้นฟิลด์ TutorialID และ TutorialName เป็นค่าเริ่มต้นบางค่าเมื่อวัตถุถูกสร้างขึ้น
ขั้นตอน 1) ขั้นตอนแรกคือการสร้าง Constructor สำหรับคลาส Tutorial ของเรา ในขั้นตอนนี้ เราจะเพิ่มโค้ดด้านล่างลงในไฟล์ Tutorial.cs
Code คำอธิบาย:-
- ก่อนอื่นเราเพิ่มวิธีการใหม่ซึ่งมีชื่อเดียวกันกับคลาส เนื่องจากเป็นชื่อเดียวกันกับคลาส C# จึงถือว่าสิ่งนี้เป็นเมธอดคอนสตรัคเตอร์ ดังนั้นเมื่อใดก็ตามที่เมธอดการเรียกสร้างอ็อบเจ็กต์ของคลาสนี้ เมธอดนี้จะถูกเรียกตามค่าเริ่มต้น
- ใน Tutorial Constructor เรากำลังตั้งค่าของ TutorialID เป็น 0 และ TutorialName เป็น "Default" ดังนั้นเมื่อใดก็ตามที่วัตถุถูกสร้างขึ้น ฟิลด์เหล่านี้จะมีค่าเริ่มต้นเหล่านี้เสมอ
ตอนนี้เรามาสลับไปที่ไฟล์ Program.cs ของเราแล้วลบบรรทัดซึ่งเรียกเมธอด SetTutorial ออก เนื่องจากเราต้องการเพียงดูว่า Constructor ทำงานอย่างไร
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { public int TutorialID; public string TutorialName; public Tutorial() { TutorialID=0; TutorialName="Default"; } public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Tutorial pTutor=new Tutorial(); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Code คำอธิบาย:-
- ขั้นตอนแรกคือการสร้างออบเจ็กต์สำหรับคลาส Tutorial ซึ่งทำได้โดยใช้คำสำคัญ 'ใหม่'
- เราใช้เมธอด GetTutorial ของคลาส Tutorial เพื่อรับค่า TutorialName จากนั้นจะแสดงค่านี้ไปยังคอนโซลผ่านเมธอด Console.WriteLine
หากป้อนโค้ดด้านบนถูกต้องแล้วและดำเนินการโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้
Output:
จากผลลัพธ์ เราจะเห็นได้ว่า Constructor ถูกเรียกจริง ๆ และค่าของ TutorialName ถูกตั้งค่าเป็น "Default"
หมายเหตุ ที่นี่ค่า "ค่าเริ่มต้น" จะถูกดึงมาจากตัวสร้าง






