2015-03-10 7 views
6

मैं एक पुराने codebase के माध्यम से देख रहा था और मैं एक विधि है कि केवल अपनी मूल कॉल मिला:ओवरराइडिंग विधि केवल पैरेंट विधि को कॉल करती है - उपयोगी?

@Override 
public void select(Object item) { 
    super.select(item); 
} 

वहाँ इस तरह के एक विधि के लिए किसी भी उपयोग के मामले होगा? मेरे लिए ऐसा लगता है कि मैं इसे हटा सकता हूं।

+0

यदि आप इस विधि को हटाते हैं तो आपका आवेदन प्रभावित होगा। अगर उत्तर नहीं है, तो इसे हटा दें। ओवर-इंजीनियर या ओवर-डिज़ाइन न करें। – CKing

+2

क्या सुपरक्लास विधि का एक्सेस संशोधक भी सार्वजनिक है? – Pshemo

+0

@Pshemo: हाँ सुपरक्लास विधि भी सार्वजनिक है। – jhyot

उत्तर

7

इसे हटाने से लगभग कोई फर्क नहीं पड़ता। प्रतिबिंब का उपयोग करते समय आप ऑब्जेक्ट पर select विधि की तलाश करते समय एक अंतर देखेंगे। यदि आप ऑब्जेक्ट की बेस क्लास में न देखने के प्रतिबिंब बताते हैं, तो इसे हटाने के बाद विधि को नहीं ढूंढ पाएगा।

5

हां, इस विधि को आपके कोड के तर्क को बदले बिना हटाया जा सकता है।

शायद यह एक अलग कार्यान्वयन होता था जिसे हटा दिया गया था, या एक अलग कार्यान्वयन माना जाता था जिसे कभी नहीं लिखा गया था।

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