ดังนั้นฉันค่อนข้างใหม่ในการเขียนโปรแกรมในโลกแห่งความเป็นจริง (นอกโครงการวิชาการ) และได้เจอโพสต์มากมายบอกว่าการใช้instanceof
เป็นสิ่งที่ไม่ดีที่จะใช้เพื่อกำหนดว่าวัตถุที่เฉพาะเจาะจงในชั้นเรียนคืออะไร
สถานการณ์ของฉันคือว่าฉันมีสามคลาสคลาสผลิตภัณฑ์พื้นฐานที่หนึ่งขยายออกและอื่น ๆ ที่ขยายนั้น ทั้งหมดนี้เก็บไว้ในตารางเดียวกันในฐานข้อมูลและฉันมีรหัสบางอย่างที่จำเป็นต้องใช้วิธีการในการดึงข้อมูลออกจากพวกเขา
การปฏิบัติที่ดีที่สุดในการหลีกเลี่ยงวิธีนี้คืออะไร? ฉันได้อ่านบางอย่างเกี่ยวกับ polymorphism แล้ว แต่ฉันไม่พบตัวอย่างใด ๆ ที่แก้ไขปัญหาที่ฉันมี พวกเขามักจะแทนที่วิธีการที่ฉันใช้ไม่ได้เพราะฉันต้องดึงสิ่งต่าง ๆ จากวัตถุต่าง ๆ
มีวิธีที่ดีกว่าในการทำเช่นนี้หรือฉันติดอยู่กับการใช้instanceof
หรือการสะท้อนบางอย่างเพื่อให้ได้ฟิลด์ที่เฉพาะเจาะจงกับวัตถุ
getSpecifics()
ว่ามีการใช้งานที่แตกต่างกันในแต่ละที่แต่ละคืนข้อมูลเฉพาะชั้น?
instanceof
นั้นผิด การพยายามค้นหาคลาสของวัตถุมักเป็นปัญหา ไม่ผิดเสมอไป แต่อาจเป็นในกรณีของคุณ บางทีถ้าคุณบอกเราว่าคุณพยายามทำอะไรให้สำเร็จเราสามารถแนะนำวิธีแก้ปัญหาโดยใช้ความหลากหลาย