"ఆబ్జెక్ట్ ఇనిషియలైజేషన్ గురించి నేను మీకు చెప్పాలనుకుంటున్నాను. మీరు ఆబ్జెక్ట్ను సృష్టించినప్పుడు, సరిగ్గా పని చేయడానికి అవసరమైన సమాచారం లేని వస్తువును యాక్సెస్ చేసే పరిస్థితిని నివారించడానికి మీరు దాని వేరియబుల్స్కు ప్రారంభ విలువలను కేటాయించాలి ."
"ఫైల్ ఆబ్జెక్ట్ను పరిశీలిద్దాం. ఫైల్కు అవసరమైన కనీస సమాచారం దాని పేరు. పేరులేని ఫైల్ను సృష్టించడం అసంబద్ధం. "
"ఫైళ్లతో పని చేయడానికి మనం 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