मैंने इस सवाल पर चर्चा की है कि एक इंटरफ़ेस से लागू होने वाली कक्षा को कैसे त्वरित किया जाएगा। मेरे मामले में, मैं जावा में एक बहुत छोटा प्रोग्राम लिख रहा हूं जो कि एक उदाहरण का उपयोग करता है TreeMap
, और वहां हर किसी की राय के अनुसार, इसे तत्काल किया जाना चाहिए:
Map<X> map = new TreeMap<X>();
मेरे कार्यक्रम में, मैं फ़ंक्शन को कॉल कर रहा हूं map.pollFirstEntry()
, जिसे Map
इंटरफ़ेस में घोषित नहीं किया गया है (और कुछ जोड़े जो Map
इंटरफ़ेस में भी मौजूद हैं)। मैं TreeMap<X>
हर जगह इस पद्धति से कॉल करके ऐसा करने में कामयाब रहा हूं जैसे:
someEntry = ((TreeMap<X>) map).pollFirstEntry();
मैं शुरुआती दिशा-निर्देशों के लाभों को बड़े कार्यक्रमों के लिए ऊपर वर्णित के रूप में समझता हूं, हालांकि एक बहुत छोटे कार्यक्रम के लिए जहां यह ऑब्जेक्ट अन्य तरीकों से पारित नहीं होगा, मुझे लगता है कि यह अनावश्यक है। फिर भी, मैं इस नमूना कोड को एक नौकरी आवेदन के हिस्से के रूप में लिख रहा हूं, और मैं नहीं चाहता कि मेरा कोड बुरी तरह से दिखाई दे और न ही बरबाद हो। सबसे सुरुचिपूर्ण समाधान क्या होगा?
संपादित करें: मैं इंगित करना चाहूंगा कि मैं विशिष्ट फ़ंक्शन के आवेदन के बजाय व्यापक अच्छी कोडिंग प्रथाओं में अधिक रुचि रखता हूं TreeMap
। जैसा कि कुछ उत्तर पहले ही इंगित कर चुके हैं (और मैंने ऐसा करने के लिए पहले उत्तर के रूप में चिह्नित किया है), उच्च अमूर्त स्तर संभव का उपयोग किया जाना चाहिए, बिना कार्यक्षमता खोए।