𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗢𝗢𝗣: 𝗔 𝗖𝗼𝗺𝗽𝗹𝗲𝘁𝗲 𝗚𝘂𝗶𝗱𝗲
लहान प्रकल्पांसाठी कोड लिहिणे सोपे आहे. मोठ्या ॲप्ससाठी कोड व्यवस्थापित करणे कठीण आहे.
मी हे एका Quiz App आणि Mobile Banking UI बनवताना शिकलो. सुरुवातीला साधे functions आणि objects व्यवस्थित काम करत होते. पण जसे मी नवीन features जोडले, तसा कोड विस्कळीत झाला. तो पुन्हा वापरणे (reuse) कठीण झाले आणि त्यात सुधारणा करणे (fix) त्याहूनही कठीण झाले.
तेव्हा Object-Oriented Programming (OOP) मुळे सर्व काही बदलले.
OOP केवळ functions ऐवजी objects च्या आधारे कोडची मांडणी करते. एक object डेटा (properties) आणि कृती (methods) साठवून ठेवते.
एका कारचा विचार करा. तिला रंग आणि ब्रँड सारखे properties असतात. तिला start आणि stop सारख्या कृती (actions) असतात.
तुम्हाला माहित असणे आवश्यक असलेले मुख्य संकल्पना खालीलप्रमाणे आहेत:
• Classes आणि Objects Class म्हणजे एक blueprint (आराखडा) आहे. Object ही त्या blueprint वरून तयार केलेली प्रत्यक्ष वस्तू आहे.
• Constructors Constructor ही एक विशेष method आहे. जेव्हा तुम्ही नवीन object तयार करता, तेव्हा त्याचा डेटा सेट करण्यासाठी ती आपोआप कार्यान्वित होते.
• Inheritance
यामुळे एक class दुसऱ्या class कडील वैशिष्ट्ये घेऊ शकते. यामुळे तुम्हाला तोच कोड पुन्हा पुन्हा लिहावा लागत नाही. parent class ला कॉल करण्यासाठी super() कीवर्ड वापरा.
• Encapsulation
हे डेटा सुरक्षित ठेवते. तुम्ही अंतर्गत तपशील लपवता आणि फक्त आवश्यक गोष्टीच दाखवता. JavaScript मध्ये fields ला private करण्यासाठी # चिन्ह वापरा.
• Abstraction हे गुंतागुंतीचे logic लपवते. अंतर्गत यंत्रणा कशी काम करते हे जाणून घेण्याची गरज न पडता तुम्ही एका साध्या interface सोबत संवाद साधू शकता.
• Polymorphism यामुळे वेगवेगळ्या classes एकाच method नावाचा वापर करू शकतात परंतु त्यांच्या कृती वेगवेगळ्या असू शकतात. उदाहरणार्थ, एक प्राणी भुंकू शकतो तर दुसरा म्याऊ करू शकतो.
• Getters आणि Setters हे लोक तुमचा डेटा कसा एक्सेस करतात किंवा बदलतात यावर नियंत्रण ठेवण्यास मदत करतात.
Why use OOP?
- तुम्ही कोड सहजपणे पुन्हा वापरू शकता.
- तुमचा प्रकल्प सुव्यवस्थित राहतो.
- मेंटेनन्स (Maintenance) जलद होते.
- जसा तुमचा विस्तार होतो, तसे तुमचे architecture सुटसुटीत राहते.
या स्तंभांवर प्रभुत्व मिळवणे तुम्हाला एक उत्तम डेव्हलपर बनवते. तुमच्या पुढील dashboard किंवा e-commerce प्रोजेक्टमध्ये या संकल्पना वापरण्याचा प्रयत्न करा.