मेरी जावा परियोजना में, मेरे पास विभिन्न प्रकार के व्यापारियों का एक वेक्टर है। इन विभिन्न प्रकार के व्यापारी व्यापारी वर्ग के उप-वर्ग हैं। अभी, मेरे पास एक तरीका है जो ट्रेडर को तर्क के रूप में लेता है और वेक्टर में 50 या उससे अधिक बार स्टोर करता है। मुझे समस्याएं आ रही हैं क्योंकि एक ही ऑब्जेक्ट को 50 बार स्टोर करना एक ही ऑब्जेक्ट के 50 संदर्भ को संग्रहीत कर रहा है। मुझे वस्तु के 50 प्रतियों स्टोर करने की आवश्यकता है। मैंने Clone को कार्यान्वित करने के बारे में शोध किया है, लेकिन मैं नहीं चाहता कि प्रोग्रामर एक प्रकार के व्यापारी को परिभाषित करने के लिए अपनी कक्षा क्लोनबल बनाने की चिंता करें। इसके अलावा, जैसा कि this page द्वारा इंगित किया गया है, क्लोन लागू करने से सभी प्रकार की समस्याएं पैदा होती हैं। मुझे नहीं लगता कि एक कॉपी कन्स्ट्रक्टर या तो काम करेगा क्योंकि अगर मैंने ट्रेडर क्लास में एक को परिभाषित किया है, तो यह उस व्यापारी के प्रकार को नहीं जानता है, जिसकी प्रतिलिपि बनाई जा रही थी और सिर्फ एक सामान्य व्यापारी बनें। मैं क्या कर सकता हूँ?जावा में क्लोन को लागू करने के लिए कोई विकल्प हैं?
संपादित करें: मैं वास्तव में किसी निश्चित वस्तु की सटीक प्रतियां बनाना नहीं चाहता हूं। मैं वास्तव में क्या करने की कोशिश कर रहा हूं वेक्टर को ट्रेडर्स की एक निश्चित संख्या जोड़ना है। समस्या यह है कि उपयोगकर्ता को एक तर्क में निर्दिष्ट करने की आवश्यकता होती है कि वह किस प्रकार का व्यापारी जोड़ना चाहता है। यहाँ मैं क्या करना है कोशिश कर रहा हूँ का एक उदाहरण है: (हालांकि मेरी वाक्य रचना पूरी तरह से काल्पनिक है)
public void addTraders(*traderType*)
{
tradervect.add(new *traderType*())
}
मैं जावा में कुछ इस तरह कैसे प्राप्त कर सकते हैं?
मुझे नहीं लगता कि मैं जेनेरिक ट्रेडर क्लास को एक इंटरफ़ेस कैसे बना सकता हूं क्योंकि व्यापारी वर्ग में ऐसे विधियां हैं जिन्हें सुलभ करने की आवश्यकता है। एक इंटरफेस बनाना मतलब होगा कि उन सभी निम्न स्तर के तरीकों से उन वर्गों को व्यापारी वर्ग में परिभाषित करने की अनुमति नहीं दी जाएगी। –
चाहे ट्रेडर एक अमूर्त वर्ग या इंटरफ़ेस अप्रासंगिक है। आम तौर पर एक अमूर्त वर्ग पर एक इंटरफेस को प्राथमिकता दी जाती है। विरासत में प्रतिनिधिमंडल भी पसंद करते हैं। –