2011-12-07 21 views
5

इस वर्ग परिभाषा की क्या समझ है, यह किस प्रकार की कक्षा है?कक्षा परिभाषा वर्ग का नाम <>

class Node<K extends Comparable<? super K>,V> 
+0

का सुपरक्लास है, कृपया अपने प्रश्न को उचित प्रोग्रामिंग भाषा के साथ टैग करें। – ghik

उत्तर

13

यह एक सामान्य श्रेणी परिभाषा है। यह तब्दील करने के लिए:

  • वर्ग नोड पैरामीटर के रूप में दो प्रकार के होते हैं: कश्मीर और वी
  • प्रकार कश्मीर वर्ग Comparable
  • वर्ग Comparable खुद का विस्तार करना चाहिए, इस मामले में, कुछ प्रकार लेता है पैरामीटर के रूप में,
  • प्रकार टी होना चाहिए की यह टी कॉल लालकृष्ण
  • की एक सुपर क्लास

संपादित: ठीक है, के बाद से एक उदाहरण अनुरोध किया गया था, इस वर्ग के एक सरल इन्स्टेन्शियशन हो सकता है:

Node<Integer, String> node = new Node<Integer, String>(); 

के बाद से Integer वर्ग Comparable<Integer> यह अच्छी तरह से ऊपर होती है तो लागू करता है (ध्यान दें super भी करने के लिए प्रकार टी की अनुमति देता है कि के रूप में एक ही प्रकार)।

वी में कोई बाधा नहीं है, इसलिए यह किसी भी प्रकार का हो सकता है।

+0

+1 मुझे कुछ सेकंड तक इसे हराया, मैं कोड स्वरूपित कर रहा था :) –

+1

ठीक है, तो आपने हस्ताक्षर का सीधा अनुवाद दिया ... क्या आप एक वर्ग का उदाहरण प्रदान कर सकते हैं जिसका उपयोग 'के लिए किया जा सकता है ', और हो सकता है कि इस तरह की कक्षा कहां उपयोगी होगी? – StriplingWarrior

+0

लाल-काले पेड़ डेटा संरचना के कार्यान्वयन में यह उपयोगी है। http://en.literateprograms.org/Red-black_tree_(जावा) लेकिन मैं यह भी जानना चाहूंगा कि यह और कहां उपयोगी हो सकता है। –

1

यह प्रकार K और V, जहां K एक प्रकार है कि किसी भी वर्ग K की एक सुपर क्लास है कि Comparable फैली हुई होती है की एक सामान्य वर्ग है।

1

लग रहा है यह स्पष्ट उद्देश्यों के लिए डिज़ाइन किया गया एक लाल-काले पेड़ के एक कार्यान्वयन से आया हुआ:

Red-black tree implemented in Java

इसके अलावा, यह एक वर्ग Node कहा जाता है कि, पैरामीटर कश्मीर और वी लेता है जहां कश्मीर Comparable फैली है, जो एक पैरामीटर लेता है जो कि के

+0

यह सही है, यह उस स्रोत से लिया गया एक वर्ग परिभाषा है। –

संबंधित मुद्दे