संक्षिप्त उत्तर: नहीं।
लंबा उत्तर: कोई "सरल तरीका" नहीं है क्योंकि OOP सरल से बहुत दूर है। प्रक्रियात्मक प्रोग्रामिंग "चर" और "अगर गोटो है" के बारे में है। बाकी सब कुछ सिंथेटिक चीनी है, लेकिन वे चार चीजें हैं जो प्रक्रियात्मक प्रोग्रामिंग के बारे में हैं। एक बार जब आप उन्हें प्राप्त करते हैं तो कुछ भी आपको रोक नहीं सकता है।
OOP चर और कोड के टुकड़े को व्यवस्थित करने का एक तरीका है। OOP को परिभाषित करने के लिए कितने पैटर्न हैं? 25? 30? यहां तक कि विभिन्न भाषाओं और पृष्ठभूमि से ओओपी सीखने वाले शिक्षक अपनी परिभाषा पर सहमत नहीं होते हैं, इसलिए ... यह कैसे सरल हो सकता है?
मुझे नहीं पता कि आप उस पर कैसे आए, लेकिन चूंकि आपकी मां को मेरा अनुभव समान है, इसलिए मैं आपको बता सकता हूं कि मैं कैसे आया।
मैं एक बहुत बड़े प्रोजेक्ट में C में प्रोग्रामिंग कर रहा था। यह 1988 था। कई प्रोग्रामर मॉड्यूल और लाइब्रेरी का आयोजन करते हैं, अन्य नौकरियों में हस्तक्षेप से बचने और कर्तव्यों का एक अच्छा पृथक्करण रखने की कठिनाई के साथ।
हम एक "समाधान" के लिए आए थे जो सभी अंतःसंबंधित वैश्विक डेटा को संरचनाओं में डालना था, उन संरचना में कुछ फ़ंक्शन पॉइंटर्स में रखकर जहां कॉलबैक की आवश्यकता थी। हमने उस तरह से सामान्यीकरण किया जिसे हम कहते हैं io_mask
(पाठ मोड संवाद बॉक्स की तरह) और graphic_manager
आदि।
1996 में यह पता लगाना बहुत आसान था कि उन संरचनाओं को "कक्षाएं" नाम दिया गया था और उन फ़ंक्शन पॉइंटर्स को सदस्य फ़ंक्शन और वर्चुअल फ़ंक्शंस द्वारा प्रतिस्थापित किया गया था, या अन्य प्रोग्रामर द्वारा अन्य ऑब्जेक्ट्स (लिंक किए गए व्यवहार) के लिंक के साथ जिन्होंने उस पुराने प्रोजेक्ट को नवीनीकृत किया।
जब मैंने इसकी आवश्यकता महसूस करना शुरू किया, तो मैंने ओओपी को समझना शुरू किया : अलगाव, बहुरूपता, और क्रम परिभाषित व्यवहार।
आज मैं OOP के साथ काम करता हूं, लेकिन मैं इसे सेवा करने के सिद्धांत के रूप में नहीं समझता: बस एक "सामान्य मुहावरा" (... का सेट) जो हमें हर समय लंबे स्पष्टीकरण और विवरण प्रदान करने की आवश्यकता के बिना एक साथ बोलते हैं। । वास्तव में, कुछ और की तुलना में अधिक "सम्मेलन"। सब के बाद, सभी OOP करता है -again- "यदि फिर गोटो": यह सिर्फ यह "बहुपरत" करता है। इसलिए मुहावरों पर अमूर्त और मुहावरे।
उन पर ध्यान न दें। जब तक वह उनके लिए आवश्यकता महसूस नहीं करता है, तब तक वह समझाने की कोशिश नहीं करता है: वह उन्हें सरल चीजों को करने के लिए एक जटिल तरीके के रूप में महसूस करेगी। और वह सही है ... जब तक वह क्या करती है, वास्तव में सरल है।
शीर्ष पर सिर्फ चार चीजें हैं, तो कोई भी "डेस्क को व्यवस्थित करने" के लिए नहीं सोचेगा। यह समझ में आता है जब शीर्ष पर मौजूद चीजें एक-दूसरे को बाधित करने लगती हैं। OOP के आने का समय है।
आपको C ++ के साथ काम करने के लिए OOP की आवश्यकता नहीं है। संपूर्ण C ++ मानक पुस्तकालय OOP के संदर्भ में डिज़ाइन नहीं किया गया है (हालांकि यह इसके साथ सहयोग कर सकता है), और C ++ जावा नहीं है।
मेरे सभी अनुभव में सबसे खराब C ++ शिक्षक और C ++ प्रोग्रामर हैं जो जावा से आते हैं, अपने सभी पूर्वाग्रहों के बारे में सब कुछ OOP नहीं सिखा रहे हैं, C ++ जैसी भाषा को निरूपित कर रहे हैं जो OOP के लिए (सिर्फ) नहीं है।
मुझे उन लोगों के लिए एक अच्छी पुस्तक का सुझाव दें जो C ++: त्वरित C ++ को अप्रोच करना चाहते हैं : यह आपको पूर्वनिर्धारित सिद्धांत का पालन करने का बहाना किए बिना C ++ मुहावरों में लाएगा।