java - आपको जेएफआरएएम और अन्य घटकों का विस्तार क्यों नहीं करना चाहिए?




2 Answers

विरासत पर संरचना पसंद करते हैं। सभी सामान्य कारणों से। संरचना बल कोड के बीच कम निर्भरता बलों।

स्विंग, और घटना एडब्ल्यूटी, घटक बेहद जटिल हैं। आप उस गड़बड़ में नहीं आना चाहते हैं। आप आसानी से विधियों को ओवरराइड कर सकते हैं। ऐसे मामलों में जहां आपको विधियों को ओवरराइड करने की आवश्यकता है, यह देखना मुश्किल है कि यह सामान्य कोड के बीच कहां किया जाता है।

java swing inheritance components

मैंने देखा है कि यह यहां कुछ बार आया है, लेकिन मैंने जो पोस्टिंग देखी है, उनमें से कोई भी इसे समझा नहीं गया है। मुझे जेएफआरएएम (या कोई घटक) क्यों नहीं बढ़ाया जाना चाहिए? क्या ऐसी स्थितियां हैं जहां मुझे एक घटक का विस्तार करना चाहिए, या यह एक दृढ़ नियम है जो आप नहीं करते?




जब तक आप कक्षा को विस्तारित नहीं कर रहे हैं तब तक मुझे समस्या दिखाई नहीं दे रही है और विरासत के "एक-एक" पहलुओं को संरक्षित कर सकता है।

जब आप एक जेपीनल का विस्तार करते हैं लेकिन आपकी नई वस्तु जेपीनल का वास्तविक विशेषज्ञता नहीं है, वहीं आप परेशानी में पड़ जाते हैं। लेकिन अगर आप एक नया JLabel बनाते हैं जो JLabel बढ़ाता है, तो मुझे इसके साथ कोई समस्या नहीं JLabel है।




Related