"मी तुम्हाला ऑब्जेक्ट इनिशिएलायझेशनबद्दल सांगू इच्छितो. जेव्हा तुम्ही एखादी वस्तू तयार करता, तेव्हा तुम्हाला त्याच्या व्हेरिएबल्सला प्रारंभिक मूल्ये नियुक्त करण्याची आवश्यकता असते जिथे तुम्ही एखाद्या ऑब्जेक्टमध्ये योग्यरित्या कार्य करण्यासाठी आवश्यक असलेली माहिती नसलेल्या वस्तूमध्ये प्रवेश करता तेव्हा परिस्थिती टाळता येते."
"फाइल ऑब्जेक्टचा विचार करूया. फाईलसाठी किमान आवश्यक माहिती म्हणजे तिचे नाव. नाव नसलेली फाइल तयार करणे मूर्खपणाचे ठरेल. "
"समजा आपण फायलींसोबत काम करण्यासाठी MyFile क्लास लिहितो. प्रत्येक ऑब्जेक्टसाठी कोणती माहिती आवश्यक असेल?"
"ऑब्जेक्टशी संबंधित फाइलचे नाव?"
"बरोबर आहे. हे करण्यासाठी, आम्ही आमच्या वर्गात इनिशियलाइज () पद्धत जोडतो. हे असे दिसते."
class MyFile
{
private String filename = null;
public void initialize(String name)
{
this.filename = name;
}
…
}
"आम्ही मेथडला कॉल करून ऑब्जेक्टसह कार्य करणे शक्य करण्यासाठी इनिशियलाइज पद्धत जोडली आहे. इनिशियलाइज मेथडला कॉल केल्यानंतर लगेचच आम्ही ऑब्जेक्टच्या पद्धती कॉल करू शकतो. जर आपण एखाद्या ऑब्जेक्टसह कार्य करू शकत नाही, तर आम्ही त्यास अवैध म्हणतो ; अन्यथा, ऑब्जेक्ट वैध आहे असे आपण म्हणतो . इनिशियलाइज पद्धतीचे मुख्य कार्य म्हणजे ऑब्जेक्टला वैध करण्यासाठी आवश्यक असलेला सर्व डेटा प्राप्त करणे .
"मी बघतो."
"आता आपण आपले कार्य अधिक कठीण करूया. किंवा, दुसर्या विचारानुसार, सोपे. तुम्ही ते कसे पाहता यावर अवलंबून आहे. समजा आमच्या वर्गाचा वापर करणार्या प्रोग्रामरला त्याच्या पूर्ण मार्गाऐवजी फक्त फाइलची निर्देशिका आणि लहान नाव पास करणे अधिक सोयीस्कर वाटेल. प्रोग्रामरला हे करू देण्यासाठी आम्ही दुसरी इनिशियलाइज पद्धत ( जावा आम्हाला एकसारख्या नावांसह अनेक पद्धती तयार करू देते ) तयार करू शकतो. आमचा वर्ग कसा दिसेल ते येथे आहे:"
class MyFile
{
private String filename = null;
public void initialize(String name)
{
this.filename = name;
}
public void initialize(String folder, String name)
{
this.filename = folder + name;
}
…
}
"आणखी एक गोष्ट: आम्हाला बर्याचदा वर्तमान फाइलच्या शेजारी असलेल्या फाईलची तात्पुरती प्रत तयार करावी लागते."
"आम्ही हे करण्यासाठी एक पद्धत तयार करू शकतो?"
"नक्की. बघ."
class MyFile
{
private String filename = null;
public void initialize(String name)
{
this.filename = name;
}
public void initialize(String folder, String name)
{
this.filename = folder + name;
}
// The filename will be stored in the same directory as file.
public void initialize(MyFile file, String name)
{
this.filename = file.getFolder() + name;
}
…
}
"आणि मला पाहिजे तितक्या पद्धती मी बनवू शकतो?"
"ठीक आहे, कारणास्तव. पण तांत्रिकदृष्ट्या, होय, तुम्हाला पाहिजे तितके."
"मला इनिशियलाइज मेथड कधी कॉल करावी लागेल?"
"ऑब्जेक्ट तयार केल्यावर लगेच, ते वैध करण्यासाठी."
उदाहरणे: |
---|
|
|
|
"ही getFolder() पद्धत काय आहे?"
"आम्ही येथे कोड दाखवला नाही. तो एक पद्धत दर्शवितो जी आमची फाईल ज्या फोल्डरच्या नावासह स्ट्रिंग परत करते."
GO TO FULL VERSION