जैसे एक सामान्य इंटरफ़ेस को देखते हुए निम्नलिखितस्कैला में जेनिक्स: एक इंटरफ़ेस/विशेषता दो बार कार्यान्वित करना?
interface I<T> {
void m(T t);
}
मैं सी # में एक वर्ग है कि मैं दो बार लागू करता है (या अधिक) टी, जैसे के लिए आपूर्ति की विभिन्न प्रकार के साथ बनाने के
class C : I<int>, I<String> {
public void m(int i) { }
public void m(String s) { }
}
यह जावा में सामान्य प्रकार की जानकारी का विलोपन की वजह से नहीं किया जा सकता है, लेकिन कुछ इस तरह स्काला में प्राप्त किया जा सकता?
क्या आप स्कैला कोड में वर्णन कर सकते हैं कि आप क्या करना चाहते हैं। यहां पर कई लोग सी # से परिचित नहीं हैं। – Jus12
ठीक है, मैं स्कैला से परिचित नहीं हूं (सीखने की कोशिश कर रहा हूं :))। हालांकि, ऊपर दिए गए कोड को जावा के बारे में जानने वाले किसी भी व्यक्ति के लिए समझना आसान होना चाहिए, जब तक आप जानते हैं कि इस सेटिंग में "कक्षा सी" के बाद ":" का अर्थ जावा-बोल में "उपकरण" है। मैंने स्कैला में जो कोशिश की है, वह मुझे एक विशेषता (केवल "इंटरफ़ेस" को "विशेषता" के साथ प्रतिस्थापित करने के लिए है), और फिर सी को परिभाषित करता है क्योंकि "कक्षा सी II {..." के साथ विस्तारित करता है, लेकिन यह काम नहीं करता है । –
Eyvind
स्कैला जेनेरिक प्रकारों में '[]' में संलग्न हैं, इसलिए आप इसे 'I [Int]' और 'I [स्ट्रिंग]' के रूप में करेंगे। क्या आपने घोषणा में 'क्लासमैनिफेस्ट' का उपयोग करने की कोशिश की है? – Jus12