"हाय, अमिगो!"

"हाय, एली!"

"आज मी तुम्हाला जावामधील वर्गांबद्दल खूप काही सांगणार आहे."

स्पष्टीकरण क्रमांक 1. मी एका साधर्म्याने सुरुवात करेन. भौतिक जगातील सर्व गोष्टी अणूंनी बनलेल्या आहेत. अणूंचे विविध प्रकार आहेत: हायड्रोजन, ऑक्सिजन, लोह, युरेनियम... या अणूंच्या संयोगातून वेगवेगळे रेणू, पदार्थ आणि वस्तू."

"या अणूंमध्ये काही अंतर्गत संरचना आहेत, जसे की इलेक्ट्रॉन आणि प्रोटॉन आणि न्यूट्रॉन असलेले केंद्रक."

"हो, मला अणूंच्या संरचनेबद्दल थोडी माहिती आहे. मी एक रोबोट आहे, शेवटी!"

"जावाच्या जगाची रचना अशाच प्रकारे केली आहे. प्रोग्राममध्ये विविध प्रकारच्या वस्तू (वर्ग) असतात. वेगवेगळ्या वर्गांमध्ये वेगवेगळ्या अंतर्गत रचना (चर आणि पद्धती) असतात."

"जर आपण एखाद्या प्रोग्रामकडे संपूर्णपणे पाहिलं, तर त्याचे घटक बिल्डिंग ब्लॉक्स हे ऑब्जेक्ट्स आहेत. क्लासेस हे ब्लॉक्सचे प्रकार आहेत. दुसऱ्या शब्दांत सांगायचे तर, वेगवेगळ्या प्रकारचे ब्लॉक्स हे वेगवेगळ्या क्लासच्या ऑब्जेक्ट्स आहेत. "

"मला वाटते मला ते समजले आहे."

" स्पष्टीकरण क्रमांक 2. जेव्हा आपल्याला नवीन ऑब्जेक्ट प्रकाराची आवश्यकता असते, तेव्हा आपण एक नवीन वर्ग तयार करतो आणि त्याच्या अंतर्गत ऑब्जेक्ट्सच्या वर्तनाची व्याख्या करतो. "

"हे थोडंफार सामान्य वाटतंय. ते स्पष्ट दिसतंय, पण तुम्ही काही ठोस बोलला नाही."

"आंतरिक संरचनेच्या दृष्टीने, वर्गामध्ये पद्धतींचा समावेश असतो, जे काहीतरी करतात आणि व्हेरिएबल्स, ज्याचा वापर डेटा संग्रहित करण्यासाठी पद्धतींद्वारे केला जातो. "

"मग, वर्ग हा पद्धतींचा संच आहे असे म्हणणे सोपे होईल का?"

"जवळजवळ. अधिक अचूकपणे सांगायचे तर, वर्ग हा संबंधित पद्धतींचा आणि सामायिक व्हेरिएबल्सचा समूह आहे ज्याचा वापर भिन्न मूल्ये संचयित करण्यासाठी या पद्धतींद्वारे केला जातो."

"मी पाहतो. नवीन वर्ग तयार करण्यासाठी, आपल्याला प्रथम या पद्धती लिहिण्याची गरज आहे..."

"होय. आणि वेगवेगळ्या पद्धती कोणते व्हेरिएबल्स शेअर करतील हे देखील आम्हाला ठरवायचे आहे. आम्ही हे व्हेरिएबल्स पद्धतींमधून बाहेर काढतो आणि त्यांना क्लासमध्ये ठेवतो, म्हणजे आम्ही लोकल व्हेरिएबल्सला सदस्य (इंस्टन्स) व्हेरिएबल्समध्ये बदलतो."

"मुळात, एक वर्ग अशा प्रकारे तयार केला जातो:

1. प्रोग्रामर ठरवतो की त्यांना कोणत्या इतर वस्तूंची आवश्यकता आहे.

2. प्रोग्रामर या ऑब्जेक्ट्सना काय करायचे आहे त्यानुसार वेगवेगळ्या प्रकारांमध्ये विभागतो.

3. प्रोग्रामर प्रत्येक प्रकारासाठी स्वतंत्र वर्ग लिहितो.

4. वर्गात, ते आवश्यक पद्धती आणि चल घोषित करतात.

5. प्रत्‍येक पद्धतीमध्‍ये, ते पध्‍दतीला जे करायचे आहे ते करण्‍यासाठी ते आज्ञा लिहितात.

6. वर्ग तयार आहे. तुम्ही आता वर्गाच्या वस्तू तयार करू शकता."

"छान! किती मनोरंजक नमुना! मला ते लक्षात ठेवायला हवे."

"हे लक्षात ठेवा. ते उपयोगी पडेल. प्रोग्रॅमिंग तत्वज्ञान जे प्रोग्रॅमला ऑब्जेक्ट्समध्ये विभागायला सांगते त्याला ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग ( OOP ) म्हणतात."

"जावा हे ओओपी भाषेचे उत्कृष्ट उदाहरण आहे: जावामध्ये, सर्वकाही एक वस्तू आहे."

"जावाचा अभ्यास करण्‍यात दोन मोठी कार्ये असतात: तुमचे स्‍वत:चे वर्ग कसे लिहायचे ते शिकणे आणि इतर लोकांचे वर्ग कसे वापरायचे ते शिकणे . आज आपण यापैकी सर्वात सोप्यापासून सुरुवात करू. आपण सर्वात सोप्या वर्ग कसे लिहायचे ते शिकू आणि अर्थातच. , या वर्गांच्या वस्तू कशा तयार करायच्या. वस्तूंना अनेकदा वर्गाचे 'इंस्टन्स' देखील म्हटले जाते. ते समानार्थी शब्द आहेत; दोन्ही अभिव्यक्ती बरोबर आहेत."

"समजले."

"संक्षिप्त करण्यासाठी, आम्ही असे म्हणू शकतो की वर्ग हा एक मिनी-प्रोग्राम आहे: काही डेटा आणि फंक्शन्स जे डेटाचा वापर काहीतरी करण्यासाठी करतात. क्लासेसचा वापर क्लासेसची उदाहरणे तयार करण्यासाठी केला जातो, ज्यांना ऑब्जेक्ट्स देखील म्हणतात. "

"ऑब्जेक्ट तयार करण्यासाठी, new class_name()कोडमध्ये ' ' लिहा. येथे काही उदाहरणे आहेत:"

उदाहरणे
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"ऑब्जेक्टमध्ये दोन मनोरंजक गुणधर्म आहेत:"

" प्रथम . प्रत्येक ऑब्जेक्ट स्वतःच्या उदाहरण व्हेरिएबल्सची प्रत साठवतो. याचा अर्थ असा की जर इंस्टन्स व्हेरिएबल्स x आणि y क्लासमध्ये घोषित केले गेले आणि त्या क्लासचे 10 ऑब्जेक्ट्स तयार केले गेले, तर प्रत्येक ऑब्जेक्टचे स्वतःचे व्हेरिएबल्स असतील. एकामध्ये व्हेरिएबल्स बदलणे ऑब्जेक्ट दुसऱ्या ऑब्जेक्टमधील व्हेरिएबल्सवर परिणाम करत नाही. "

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

"मला समजले. इन्स्टन्स व्हेरिएबल्सबद्दल तू काय म्हणालास?"

"प्रत्येक ऑब्जेक्टचा स्वतःचा डेटा असतो. हे इन्स्टन्स व्हेरिएबल्स आहेत."

जावा कोड स्क्रीन आउटपुट:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

Cat cat2 = new Cat();
cat2.name = "Smudge";

System.out.println(cat1.name);
System.out.println(cat2.name);
ऑस्कर
स्मज