มีวัตถุประสงค์ในการประกาศinit()
วิธีการสำหรับประเภทใด ๆ ?
ฉันไม่ได้ถามว่าเราควรจะต้องการinit()
มากกว่านวกรรมิกหรือวิธีการหลีกเลี่ยงการประกาศinit()
ฉันถามว่ามีเหตุผลใด ๆ ที่อยู่เบื้องหลังการประกาศinit()
วิธีการ (ดูว่ามันเป็นเรื่องธรรมดา) หรือไม่ถ้ามันเป็นกลิ่นรหัสและควรหลีกเลี่ยง
init()
สำนวนเป็นเรื่องธรรมดามาก แต่ผมยังไม่เห็นประโยชน์ที่แท้จริงใด ๆ
ฉันกำลังพูดถึงประเภทที่สนับสนุนการเริ่มต้นด้วยวิธีการ:
class Demo {
public void init() {
//...
}
}
สิ่งนี้จะใช้ในรหัสการผลิตเมื่อใด
ฉันรู้สึกว่ามันอาจจะเป็นกลิ่นรหัสเพราะมันบอกว่านวกรรมิกไม่เริ่มต้นวัตถุอย่างสมบูรณ์ทำให้วัตถุที่สร้างขึ้นบางส่วน วัตถุไม่ควรมีอยู่หากไม่ได้ตั้งสถานะ
นี่ทำให้ฉันเชื่อว่ามันอาจเป็นส่วนหนึ่งของเทคนิคบางชนิดที่ใช้เพื่อเพิ่มความเร็วในการผลิตในแง่ของการใช้งานระดับองค์กร มันเป็นเหตุผลเดียวที่ฉันคิดได้ว่ามีสำนวนแบบนี้ฉันไม่แน่ใจว่ามันจะมีประโยชน์อย่างไรถ้าเป็นเช่นนั้น
init()
ในระดับที่ได้รับหรือในทางกลับกัน?) ถ้าเป็นเช่นนั้นมันเป็นตัวอย่างของการปล่อยให้ชั้นฐานดำเนินการ "post-constructor "ซึ่งสามารถดำเนินการได้หลังจากคลาสที่ได้รับมาส่วนใหญ่เสร็จสิ้นการก่อสร้างแล้ว มันเป็นตัวอย่างของการเริ่มต้นหลายเฟส