मेरे पास स्क्वायरल पर आधारित एक एप्लिकेशन है। मैं अपने मॉडलों को केस क्लास के रूप में परिभाषित करता हूं, अधिकतर जब से मुझे कॉपी विधियों के लिए सुविधाजनक लगता है।स्कैला केस क्लास विरासत
मेरे पास दो मॉडल हैं जो कड़ाई से संबंधित हैं। खेतों एक जैसे हैं, कई संचालन आम हैं, और उन्हें एक ही डीबी तालिका में संग्रहित किया जाना है। लेकिन कुछ व्यवहार है जो केवल दो मामलों में से एक में समझ में आता है, या यह दोनों मामलों में समझ में आता है लेकिन अलग है।
अब तक मैंने केवल एक ही केस क्लास का उपयोग किया है, जिसमें एक मॉडल है जो मॉडल के प्रकार को अलग करता है, और मॉडल के प्रकार के आधार पर भिन्न सभी विधियों को एक if के साथ शुरू होता है। यह कष्टप्रद है और काफी प्रकार सुरक्षित नहीं है।
मैं जो करना चाहता हूं वह एक पूर्वजों के मामले में आम व्यवहार और फ़ील्ड का कारक है और इसमें दो वास्तविक मॉडल हैं। लेकिन, जहां तक मैं समझता हूं, केस कक्षाओं से विरासत में स्केल में फंसे हुए हैं, और यदि उप-वर्ग स्वयं ही एक केस क्लास है (मेरा मामला नहीं) तो भी निषिद्ध है।
What are the problems and pitfalls I should be aware in inheriting from a case class? Does it make sense in my case to do so?
क्या आप गैर-केस क्लास से उत्तराधिकारी नहीं हो सकते हैं, या एक सामान्य विशेषता का विस्तार नहीं कर सकते हैं? – Eduardo
मुझे यकीन नहीं है। खेतों को पूर्वजों में परिभाषित किया गया है। मैं उन क्षेत्रों के आधार पर कॉपी विधियों, समानता और इतने पर प्राप्त करना चाहता हूं। अगर मैं अभिभावक को एक सार वर्ग के रूप में घोषित करता हूं और बच्चों को केस क्लास के रूप में घोषित करता हूं, तो क्या यह माता-पिता पर परिभाषित खातों के पैरामीटर में ले जाएगा? – Andrea
मुझे नहीं लगता, आपको अमूर्त माता-पिता (या विशेषता) और लक्ष्य केस क्लास दोनों में प्रोप को परिभाषित करना होगा। अंत में, बहुत ओ 'बॉयलरप्लेट, लेकिन कम से कम – virtualeyes