#IT #ITJobs #Freshers #ObjectOrientedProgramming #सोप्याभाषेत

IT कंपनी जॉब साठी CS/IT फ्रेशर्सना विचारला जाणारा एक प्रश्न म्हणजे "What is Encapsulation?" या प्रश्नाला सहसा Data Hiding असं उत्तर मिळतं. पण Encapsulation चा "प्रॅक्टिकल" उपयोग काय तर समाधानकारक उत्तर मिळत नाही.👇
ह्या प्रश्नाचे उत्तर मिळवण्यासाठी एक गोष्टं सांगतो.

२००६ सालची गोष्टं आहे. Java Developer म्हणून माझा पहिला जॉब आणि पहिला प्रोजेक्ट. 👇
माझ्या टीम लीड ने मला एक Class लिहायला सांगितला. ज्या मध्ये काही attributes आणि methods (behavior) होते. टीम लीड ने सांगितले कि attributes ला private आणि methods public ठेवायच्या. "कन्सेप्ट" क्लिअर नसल्यामुळे मी त्याला विचारले कि आपण नेहेमी attributes private का ठेवतो? 👇
मी प्रश्न Continue केला कि तसेही आपण accessor methods (getters-setters) देतोच ज्या मधून attribute मध्ये असलेला data आपण मिळवू शकतो आणि जसा data हवाय तसा टाकू पण शकतो. इतकं करण्या ऐवजी attributes ला public केलं तर काय बिघडलं? कसेही केले तर आपला उद्देश तर साध्य होतोच आहे. 👇
तो हसला आणि त्यांनी मला उदाहरण दिलं. समज माणूस नावाचा एक class आहे. आता माणसाचे attributes असतील त्यातलेच age (वय) हे एक attribute असेल. मी शांतपणे ऐकत होतो. तो पुढे म्हणाला कि आता जर हे age attribute public केले तर काय होणार? 👇
मी उत्तर दिले कि object attribute मध्ये directly data get/set करू शकणार. तो मला Interrupt करत म्हणाला कि directly म्हणजे age ची value negative पण set करू शकतो बरोबर? मी गांगरलो आणि म्हंटलं हो करू शकतो. तर त्यांनी विचारलं कि ह्यावर उपाय काय? 👇
मी उत्तर दिले कि object नि सेट केलेला age data आपण Check करायला हवा कि age positive आहे कि negative. तो पुढे म्हणाला अगदी बरोबर पण जेव्हा आपण attributes ला public करतो तेव्हा आपण असा check लावूच शकणार नाही. म्हणूनच get आणि set methods असतात.👇
जेणेकरून जेव्हा object set method वापरून data set करेल तेव्हा त्या ठिकाणी आपल्या आपल्या Code मधून येणारा data validate करता येईल. तसेच get method वापरून कुठला data object ला मिळवता येईल ते पण validate करू शकतो. आणि जर data valid नसेल तर data reject करू शकतो. 👇
ह्यालाच Encapsulation असे म्हणतात. जेव्हा आपण Class बनवतो तेव्हा Object valid state (object मधील data valid आहे कि नाही) मध्ये ठेवणे हे पण तितकेच महत्वाचे असते. Encapsulation एक माध्यम आहे ज्यामुळे आपण Object ची valid state maintain करतो. 👇
Object ची state change (attributes मधील value बदलणे) हि योग्य प्रकारेच व्हायला हवी आणि ती योग्य प्रकारे व्हायला हवी ह्यासाठीच Encapsulation सांगतं कि attributes private आणि accessor methods (get आणि set) पब्लिक. 👇
@MarathiRojgar @iamShantanu_D - तुम्ही शेअर केले तर जास्तीत जास्त लोकांपर्यंत पोचण्यास मदत होईल. धन्यवाद!

विश्लेषणा मध्ये काही चुका झाल्या असतील तर निदर्शनास आणून द्याव्यात नक्कीच सुधारणा करण्यात येईल.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with aKhILeSh

aKhILeSh Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @akhilesh_k_23

12 Dec
#IT #Freshers #सोप्याभाषेत #ObjectOrientedProgramming #ITJobs #Thread

IT कंपनी मध्ये मुलाखत घेतांना विशेषतः Computer/IT Freshers ला विचारला जाणारा एक प्रश्न म्हणजे What is a Class and What is an Object? 👇
जवळपास सगळ्यांचं उत्तर हे पुस्तकी भाषेतलं असतं कि A Class is Blueprint of Object and an Object is instance of Class. हे उत्तर म्हणजे पत्ता सांगण्यासारखं आहे. बस स्टॅन्ड कुठे तर गणपती मंदिरासमोर आणि गणपती मंदिर कुठे तर बस स्टॅन्ड समोर. दोन्ही अमोरासमोर.👇
ह्याच प्रश्नाला जर थोडं सोप्या भाषेत आणि दैनंदिन जीवनातील उदाहरणासहित सांगता आले तर त्याचा 'इम्पॅक्ट' चांगला होतो.

उदाहणार्थ जर तुम्हाला सायकल डिजाईन करायची आहे. तर आपल्याला काय प्रश्न पडणार? 👇
Read 10 tweets
7 Dec
@MarathiRojgar

#IT #FreeCourses #ITJobs

मित्रांनो, परंपरागत पद्धतीने म्हणजेच JAVA/PYTHON/.NET ह्या प्रोग्रामिंग language वापरून जर systems तयार केल्या तर त्या साठी लागणार वेळ खूप जास्ती असतो. सोबतच जितका जास्ती code तितकेच bugs असण्याची शक्यता असते. 👇
म्हणूनच IT industry मध्ये readymade tools/platforms ला खूप महत्त्व आहे. हे tools तुमच्या साठी code लिहितात आणि एका developer चा वेळ वाचवतात. आजच्या घडीला जितक्याही IT Systems बनत आहेत त्या मध्ये सगळ्यात महत्वाचं आहे System Integration (SI). 👇
तर SI साठी लागणाऱ्या एका Platform बद्दल थोडी माहिती देत आहे. Mulesoft Anypoint Platform हे एक अग्रणी असलेले SI tool आहे. विशेष म्हणजे ह्या Mulesoft चे २ course मोफत आहेत. ज्यामध्ये तुम्हाला tool बद्दल माहिती आणि system कशी बनवायची ह्या बद्दल माहिती देतात. 👇
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(