Private Constructor
วรนพ ลิมป์ปีติวรกุล 650710579
Private Constructor (C#) คือ constructorแบบพิเศษที่ใช้ในคลาสที่มีสมาชิกเป็นแบบstaticเท่านั้น หากคลาสมี private constructor และไม่มี public constructor คลาสอื่นจะไม่สามารถสร้างinstanceของคลาสนี้ได้ ซึ่งหมายความว่าไม่สามารถสร้างวัตถุ(object)ของคลาสนี้ได้ และไม่สามารถสืบทอด(inherit)คลาสนี้ได้เช่นกัน
ความสามารถของ Private Constructor
ป้องกันการสร้างวัตถุใหม่จากภายนอกคลาส
ใช้สร้างคลาสที่มีเพียงinstanceเดียว เช่น Singleton Pattern และอื่นๆ
ใช้สำหรับโค้ดที่ต้องการควบคุมการสร้างวัตถุหรือจำกัดให้การสร้างเฉพาะภายในคลาสเท่านั้น
ตัวอย่าง
ตัวอย่างการนำไปใช้งาน
เปรียบเทียบกับภาษาอื่นๆ
สรุป
C# ใช้ private
ก่อนชื่อconstructorเพื่อป้องกันไม่ให้มีการสร้างinstanceจากภายนอกคลาส
C++ และ Java คล้ายกับ C# โดยใช้ private
ในการกำหนดconstructor
Python ไม่มีแนวคิดของ private constructor
แต่สามารถใช้การตั้งชื่อ (เช่น _init_
) เพื่อบ่งบอกว่าควรใช้งานภายใน
Referance
Presentation Silde
Video
Last updated