Saturday, April 16, 2011

ऊप (OOP) ऑब्जेक्ट ओरिंएन्टेड प्रोग्रॅमिंग

बेसिक(Basic) व सी (C) या कॉम्प्युटर प्रोग्रॅमिंगच्या भाषा प्रोसिजर ओरिंएन्टेड भाषा आहेत. म्हणजे येथे प्रोग्रॅमिगचे कार्य पहिल्या ओळीपासून सुरू होऊन शेवटच्या ओळीपर्यंत एका क्रमाने होते. याउलट सी++(C++) ही ऑब्जेक्ट ओरिंएन्टेड प्रोग्रॅमिंग भाषा आहे.आता बहुतेक नव्या प्रोग्रॅमिंगसाठी प्रोसीजरऎवजी ऑब्जेक्ट ओरिंएन्टेड पद्धत वापरली जाते.

हे ऑब्जेक्ट ओरिंएन्टेड प्रोग्रॅमिंग किंवा `ऊप' म्हणजे काय?

प्रोग्रॅमचे छोटे छोटे भाग क्रमवार एकानंतर एक असे न लिहिता प्रत्येक भागासाठी एक विशिष्ट नावाचा स्वयंपूर्ण प्रोग्रॅम वस्तुसंकल्पना (ऑब्जेक्ट) या स्वरुपात मांडला जातो. ही संकल्पना समजण्यासाठी काही उदाहरणे पाहू.

आपणास पशु, पक्षी, माणूस, देव या शब्दांचे अर्थ माहीत आहेत. माणूस म्हटले की आपल्या मनात त्याचे विशिष्ट गुणधर्म व कार्यपद्धती लगेच लक्षात येतात. आपण माणूस ओळखूही शकतो. सजीव वस्तूंप्रमाणे मोटार, पंखा, यासारख्या वस्तू वा बँक, शाळा, दवाखाना यासारख्या संकल्पना आपल्याला समजतात. मात्र यातील कोणतीही गोष्ट केवळ त्या संकल्पनेच्या स्वरुपात अस्तित्वात नसते तर त्याचे प्रत्यक्षातील अस्तित्व विशिष्ठ नावाच्या प्रतिरूपात आपणास पाहता येते. उदाहरणार्थ देव संकल्पना स्पष्ट करण्यासाठी आपल्याला राम, गणपती असे प्रत्यक्षातील देवाचे रूप सांगावे लागते. माणसाचे उदाहरण देताना विशिष्ठ नाव असणारी व्यक्ती वा शाळा संकल्पना मांडताना प्रत्यक्षातील उदाहरण द्यावे लागते.

वस्तूची(ऑब्जेक्टची) मूळ संकल्पना क्लास(Class) या संज्ञेने प्रोग्रॅमिंगमध्ये व्यक्त केली जाते. क्लासमध्ये त्या वस्तूचे गुणधर्म(Properties), कार्यपद्धती(Methods) व घटना(Events) यांची माहिती दिलेली असते. क्लास स्वतः काही कार्य करू शकत नाही तर त्यापासून बनलेली प्रत्यक्ष वस्तू ( ऑब्जेक्ट) कार्य करू शकते. म्हणजे क्लासपासून प्रत्यक्ष नाव असलेली वस्तू तयार करून त्या वस्तूकडे कार्य होते.

ऑब्जेक्ट स्वरुपातील प्रोग्रॅम करण्यासाठी क्लास लिहावा लागतो. व त्याचा वापर करण्यासाठी त्याचा प्रत्यक्ष अवतार(Instant) विशिष्ठ नावाच्या ऑब्जेक्टच्या स्वरुपात मांडावा लागतो. उदाहरणार्थ कुत्रा या शब्दावरून आपल्याला प्राण्याच्या प्रकाराविषयी माहिती झाली तरी मोत्या हा एक कुत्रा आहे या वाक्यावरून मोत्याचे गुणधर्म आपणास प्रत्यक्ष दाखविता येतात.एका ऑब्जेक्टचे असे अनेक अवतार ( प्रतिरुपे) निरनिराळ्या नावाने तयार करता येतात. त्यांच्या गुणधर्मात फरक असले तरी त्या सर्वांचे कुत्रा या संकल्पनेचे गुणधर्म एकच असतात.

अशा पद्धतीचा प्रोग्रॅमिंगमध्ये काय उपयोग ? अशी शंका येणे स्वाभाविक आहे. आता दंडगोलाकृती ठोकळ्याचे घनफळ काढण्यासाठी लागणार्‍या प्रोग्रॅमचा क्लास तयार केला व त्यापासून वेगअवेगळ्या विशिष्ठ त्रिज्या व लांबी असणार्‍या ठोकळ्यांसाठी या क्लासपासून केलेल्या ऑब्जेक्टचा वापर केला तर त्यांची घनफळे काढता येईल.याठिकाणी घनफळ काढण्याचा क्लास (प्रोग्रॅम) मुख्य प्रोग्रॅमपासून वेगळा ठेवता येईल. असेच वेगवेगळ्या कामासाठी अनेक क्लास तयार करून ठेवलेले असतील तर मुख्य प्रोग्रॅम करताना फक्त या क्लासच्या ऑब्जेक्ट्चा वापर करावा लागेल. प्रोग्रॅम समजण्यास सोपा होईलच शिवाय घनफळ कसे काढले जाते याचा प्रोग्रॅम गुप्त राहील. ब्लॅक बॉक्स वा जादूची पेटी असते त्याप्रमाणे याचे दिलेल्या माहितीवर गुप्तपणे प्रक्रिया करून उत्तर देण्याचे कार्य राहील.

ऊप प्रोग्रॅमिंगची पद्धत एकदा समजली की शास्त्रशुद्ध व प्रभावी प्रोग्रॅमिंग करणे सहज शक्य होते.

No comments:

Post a Comment