Skip to main content

ตัวสร้างเริ่มต้นคืออะไร?

ตัวสร้างเริ่มต้นเป็นวิธีพิเศษที่สร้างและเริ่มต้นวัตถุในการเขียนโปรแกรมเชิงวัตถุมีตัวสร้างหลายชนิด แต่ตัวสร้างเริ่มต้นจะต้องเป็นไปตามเกณฑ์หนึ่งในสองเกณฑ์ที่เฉพาะเจาะจงนอกเหนือจากการสร้างและเริ่มต้นวัตถุมันจะต้องไม่มีพารามิเตอร์ซึ่งในกรณีนี้อาจเรียกได้ว่าตัวสร้าง nullary หรือจะต้องกำหนดค่าเริ่มต้นให้กับพารามิเตอร์ทั้งหมดที่มีความสามารถในการตั้งค่าภาษาคอมพิวเตอร์บางภาษาระบุตัวสร้าง nullary เริ่มต้นโดยปริยายหากโปรแกรมเมอร์ไม่ได้ระบุตัวสร้างเลยเมื่อไม่ได้ระบุตัวสร้างประเภทใดแล้วตัวสร้าง nullary เริ่มต้นจะไม่ถูกระบุอีกต่อไปและจะต้องเขียนอย่างชัดเจนหากจำเป็น

สำหรับภาษาคอมพิวเตอร์ที่อนุญาตให้มรดกเชิงวัตถุสร้างตัวสร้างเริ่มต้นในคลาสย่อยจะต้องเชื่อมต่ออย่างแม่นยำกับตัวสร้างใน superclassesตัวสร้างคลาสย่อยจะต้องเรียกตัวสร้างซูเปอร์คลาสก่อนที่จะทำสิ่งใดสิ่งหนึ่งที่เฉพาะเจาะจงกับคลาสย่อยในบางภาษาเช่น Java reg;, ตัวสร้างคลาสย่อยโดยปริยายเรียกตัวสร้าง nullary ที่เป็นค่าเริ่มต้น superclassหากตัวสร้าง nullary เริ่มต้น superclass ไม่มีอยู่วัตถุย่อยไม่สามารถสร้างได้อย่างถูกต้องsubclasses ยังสามารถมีตัวสร้างเริ่มต้นประเภทใดประเภทหนึ่งในกรณีนี้ แต่ตัวสร้างซูเปอร์คลาสที่มีอยู่จะต้องเรียกอย่างถูกต้องบางทีโดยการส่งผ่านค่าเริ่มต้นที่ไม่ซ้ำกันกับคลาสย่อย

การสร้างโดยปริยายของตัวสร้าง nullary เริ่มต้นมีข้อได้เปรียบในการลดการลดลงจำนวนวิธีการที่โปรแกรมเมอร์ต้องระบุและจัดทำเอกสาร แต่ยังมีข้อเสียของการทำให้การบำรุงรักษารหัสและความเข้าใจยากขึ้นโปรแกรมเมอร์บางคนพิจารณาการละเว้นของตัวสร้างเริ่มต้นว่าเป็นวิธีปฏิบัติที่ไม่ดีในขณะที่คนอื่นไม่ได้ไม่มีสิ่งใดที่ป้องกันไม่ให้โปรแกรมเมอร์แต่ละตัวยึดติดกับวิธีการเขียนโปรแกรมเหล่านี้ดังนั้นรวมถึงตัวสร้าง nullary เริ่มต้นในรหัสเป็นตัวเลือกโวหารส่วนใหญ่ในส่วนของโปรแกรมเมอร์หากมีการรวมตัวสร้างโรงเรียนส่วนใหญ่ของความคิดกำหนดว่าควรให้ความเห็นและจัดทำเอกสารเช่นเดียวกับตัวสร้างหรือวิธีการอื่น ๆ ที่จะเป็น

ตัวสร้างเริ่มต้นใด ๆ สามารถมีตัวดัดแปลงการเข้าถึงที่แนบมา.สิ่งนี้ให้ความสามารถเฉพาะของตัวสร้างขึ้นอยู่กับคลาสที่ระบุไว้ตัวสร้างเริ่มต้นสาธารณะสามารถใช้เพื่อสร้างวัตถุใหม่จากคลาสอื่นในขณะที่ตัวสร้างที่ได้รับการป้องกันสามารถเรียกได้จากคลาสของตัวเองและคลาสย่อยใด ๆตัวสร้างเริ่มต้นที่ได้รับการป้องกันมักจะเห็นอยู่ในลำดับชั้นการสืบทอดตัวสร้างส่วนตัวมักใช้เฉพาะในชั้นเรียนที่มีอยู่ในตัวเองเท่านั้น