मान लें कि मेरे पास एक CSV फ़ाइल है और मैं CsvFile
नामक एक क्लास बनाता हूं जो java.io.File
से फैली हुई है। यह वर्ग एक CSV फ़ाइल को पार्स कर सकता है और फ़ाइल में कितने कॉलम हैं जैसे कुछ डेटा लौटा सकता है। इसका उपयोग उन कार्यों के लिए भी किया जा सकता है जो इनपुट के रूप में java.io.File
लेते हैं। एफ ileUtils.copyFile(File from, File to)
की तरह।विरासत ब्रेक encapsulation होगा?
मेरे सहयोगी को लगता है कि मैं विरासत से बहुत अधिक खुलासा करता हूं। उनका विचार java.io.File
को इसे निजी संपत्ति में रखने के बजाय इसे विरासत में रखने के लिए लपेटना है। वह फ़ाइल ब्रेक इंकापुलेशन से सभी सार्वजनिक विधि/संपत्ति को उजागर करने के बारे में सोचते हैं, लेकिन मैं इसे लाभ के रूप में लेता हूं क्योंकि हम सभी कार्यों को java.io.File
में मुफ्त में प्राप्त करते हैं।
आपको क्या लगता है?
या तो मुझे लगता है या नहीं, लेकिन दोनों संयोजन संयोजन है। पहली विरासत ताकि पहिया को दोहराने वाले पैटर्न की तुलना में पुनर्निर्मित नहीं किया जा सके ताकि पहिया अपने उद्देश्य को पूरा कर सके। उत्तर में जोड़ने के लिए –