के ओवरराइडिंग या अधिभार को एमएस साक्षात्कार में मुझसे यह प्रश्न पूछा गया था। मैं कोड के इस टुकड़े में सटीक डिजाइन समस्या जानना चाहता हूं। कोड को पहले ही दिया गया था, डिजाइन समस्या को खोजने के लिए आवश्यक था।इस डिजाइन के साथ क्या गलत है? Java.util.HashMap
मेरे पास क्लास MyHashMap है जो जावा हैश मैप क्लास को बढ़ाता है। MyHashMap कक्षा में मुझे कर्मचारियों की कुछ जानकारी रखना है। इस मानचित्र में कुंजी पहले नाम + अंतिम नाम + पता होगा।
public MyHashMap extends HashMap<Object, Object> {
//some member variables
//
public void put(String firstName, String lastName, String Address, Object obj) {
String key = firstName + lastName+ Address;
put(key, obj);
}
public Object get(String firstName, String lastName, String Address) {
String key = firstName + lastName+ Address;
return get(key);
}
public void remove(Strig key) {
put(key, "");
}
//some more methods
}
इस डिज़ाइन में क्या गलत है? क्या मुझे हैश मैप को उप-वर्ग करना चाहिए या क्या मुझे इस कक्षा के सदस्य चर के रूप में हैश मैप घोषित करना चाहिए? या क्या मैंने हैशकोड/बराबर विधियों को लागू किया है?
मानचित्र इंटरफ़ेस की आवश्यकता है, या यह है कि आपका प्रश्न उठाए ? – extraneon
क्या यह कहा गया था कि कुंजी firstName + lastName + पता का एक संयोजन होना चाहिए? मेरे लिए, इन गुणों को जोड़कर एक अतिरिक्त पीओजेओ और बराबर() और हैशकोड() लागू करना एक बेहतर समाधान लगता है। – ddso
कोड पहले से ही दिया गया था मुझे डिजाइन के साथ मुद्दों का पता लगाना है, अगर कोई – Ashish