JavaScript मधील Object-Oriented Programming
लहान प्रकल्पांसाठी कोड लिहिणे सोपे असते. परंतु जेव्हा तुमचा प्रकल्प मोठा होतो, तेव्हा ते कठीण होते.
मी हे एका Quiz App आणि Mobile Banking UI तयार करताना शिकलो. सुरुवातीला साधे functions आणि objects व्यवस्थित काम करत होते. पण जसे मी अधिक features जोडले, तसा कोड विस्कळीत झाला. तो दुरुस्त करणे आणि पुन्हा वापरणे (reuse) कठीण झाले.
तेव्हा मला Object-Oriented Programming (OOP) बद्दल समजले. OOP तुम्हाला objects च्या आधारे कोड व्यवस्थित करण्यास मदत करते. यामुळे तुमचे काम अधिक सुटसुटीत होते आणि प्रकल्पाचा विस्तार करणे (scale) सोपे जाते.
JavaScript मधील OOP च्या मुख्य संकल्पना खालीलप्रमाणे आहेत:
Classes आणि Objects Class म्हणजे एक आराखडा (blueprint) आहे. Object म्हणजे त्या आराखड्यापासून तयार केलेली प्रत्यक्ष वस्तू आहे. उदाहरणार्थ, 'Car' class कार म्हणजे काय हे ठरवतो. 'Toyota' हा त्या class चा एक object आहे.
Constructors Constructor ही एक अशी method आहे जी object तयार करताना आपोआप कार्यान्वित (run) होते. ती तुमच्या object साठी सुरुवातीचा डेटा सेट करते.
Inheritance एक class दुसऱ्या class कडून वैशिष्ट्ये (features) घेऊ शकते. यामुळे तुम्हाला तोच कोड पुन्हा पुन्हा लिहावा लागत नाही. Parent class ला कॉल करण्यासाठी तुम्ही
super()keyword वापरता.Encapsulation याचा अर्थ डेटा लपवणे असा आहे. तुम्ही संवेदनशील माहिती 'private' ठेवू शकता जेणेकरून कोडचे इतर भाग चुकूनही त्यात बदल करू शकणार नाहीत. JavaScript मध्ये, private fields साठी तुम्ही
#symbol वापरता.Abstraction Abstraction गुंतागुंतीचे तपशील लपवते. वापरकर्त्याला फक्त आवश्यक असलेले भागच दाखवले जातात. कॉफी मशीनचे उदाहरण घ्या. कॉफी मिळवण्यासाठी तुम्ही फक्त एक बटण दाबता. मशीन पाणी कसे गरम करते, हे तुम्हाला जाणून घेण्याची गरज नसते.
Polymorphism यामुळे वेगवेगळ्या classes एकाच नावाच्या method चा वापर करू शकतात, परंतु त्यांचे कार्य वेगळे असू शकते. 'Dog' class आणि 'Cat' class या दोघांमध्ये
speak()method असू शकते, परंतु एक भुंकते तर दुसरी म्याऊ करते.Getters आणि Setters हे तुम्हाला लोक तुमचा डेटा कसा वाचतात किंवा बदलतात यावर नियंत्रण ठेवण्यास मदत करतात.
OOP का वापरावे?
• तुम्ही कोड वारंवार वापरू शकता (reuse). • तुमचा कोड व्यवस्थित राहतो. • देखभाल (Maintenance) करणे सोपे होते. • चुका कमी होतात.
या स्तंभांवर (pillars) प्रभुत्व मिळवल्यास तुम्हाला व्यावसायिक (professional) ॲप्लिकेशन्स तयार करण्यास मदत होईल.