यदि आप सोचते हैं कि OO का आविष्कार क्यों किया गया था, तो आप देखेंगे कि आपको OOP की आवश्यकता नहीं है , लेकिन कभी-कभी यह आपके जीवन को बहुत आसान बना देता है।
सी कोडिंग के दिनों में, एक बहुत बड़ा कार्यक्रम काफी गड़बड़ हो गया और इसके साथ काम करना मुश्किल हो गया। इसलिए उन्होंने इसे मॉड्यूलर चक्रों में विभाजित करने के तरीकों का आविष्कार किया। OOP इस दृष्टिकोण को लेता है और इसे और भी अधिक मॉड्यूलर बनाता है, डेटा को प्रोग्राम लॉजिक के उन अंशों के साथ रखता है ताकि वे बाकी कोड से और भी अलग हो जाएं।
यह आपको बड़े और बड़े कार्यक्रमों को लिखने की अनुमति देता है, सुरक्षित है कि आपने एक कार्य के अपने विशाल हाथी को सौ चूहों के आकार के कार्यों में बदल दिया है। अतिरिक्त बोनस यह है कि आप इनमें से कुछ 'चूहे' ले सकते हैं और अन्य कार्यक्रमों में उनका पुन: उपयोग कर सकते हैं!
बेशक, वास्तविक दुनिया काफी ऐसी नहीं है, और ऑब्जेक्ट का पुन: उपयोग कभी नहीं किया गया था जिस तरह से इसका इरादा था, लेकिन इसका मतलब यह नहीं है कि यह एक बेकार प्रतिमान है।
क्या बेकार है या तो कोडिंग की शैली पर अधिक निर्भरता है। जो कोई भी एक हजार छोटे, तुच्छ वर्गों के साथ OO करता है, वह वास्तव में इसे सही नहीं कर रहा है - वे अपने लिए (या किसी और) के लिए एक बुरा सपना बना रहे हैं। कोई भी एक प्रक्रियात्मक अनुप्रयोग जो केवल 3 कार्य लिख रहा है, वह भी जीवन को कठिन बना रहा है। सबसे अच्छा तरीका है मिडल ग्राउंड, बड़े-ईश ऑब्जेक्ट (कभी-कभी ऐसे घटक जिन्हें हम एक समय में एक बार जाते हुए देखा जाता है) जो कि उचित मात्रा में स्टैंड-अलोन कोड और डेटा प्रदान कर सकते हैं जो कि पुन: उपयोग होने की अधिक संभावना है अपने बाकी ऐप से अलगाव में।
अगली बार के लिए मेरी सलाह: अपना सामान्य प्रक्रियात्मक कोड लिखने का प्रयास करें, लेकिन अपनी मुख्य डेटा संरचना का एक ही उद्देश्य बनाएं। देखें कि आप कैसे पाते हैं कि इसके साथ काम करना फ़ंक्शन से फ़ंक्शन के आसपास डेटा पास करने से अधिक आसान है।