फ़ील्ड
क्लास Cup के अंदर fill नाम का एक int फ़ील्ड रखें। Pine में Main रखें और Cup c = new Cup(); से एक cup बनाएँ, c.fill = 3; से संख्या संग्रहीत करें, फिर Console.WriteLine(c.fill); से वही फ़ील्ड लिखें। दोनों टाइप उसी शिक्षण फ़ाइल में रखें ताकि dotnet run सरल रहे। dotnet run से चलाएँ। स्क्रीन पर एक पंक्ति दिखनी चाहिए: 3। फ़ील्ड उसी एक ऑब्जेक्ट पर डेटा रखता है। आप उस चर से पहुँचते हैं जो ऑब्जेक्ट का नाम रखता है। ऑब्जेक्ट पर वह मान संग्रहीत और पढ़ना इस पेज का पाठ है। शुरू करने वाली पब्लिक क्लास का नाम Pine रखें।
ऑब्जेक्ट पर डेटा की जगह
ऑब्जेक्ट पेज पर beep केवल लिखता था। बाद के लिए कोई संख्या नहीं रखता था। फ़ील्ड वह नाम है जो क्लास के अंदर घोषित होता है और हर ऑब्जेक्ट उसमें अपना मान रख सकता है। new ऑब्जेक्ट बनाने के बाद आप ऑब्जेक्ट चर से फ़ील्ड असाइन करते हैं, फिर स्क्रीन पर लिख सकते हैं।
Pine फ़ाइल खोलें। शुरू करने वाली क्लास का नाम Pine ही रहता है। यह पेज स्टार्टर का नाम नहीं बदलता। अगर अभी भी c.beep(); बचा है और वही Main में सब कुछ है, उसे हटा दें। कोई भी बची Chip क्लास हटा दें। कोई भी ReadLine पंक्ति हटा दें। जो फ़ाइल आप रखते हैं वह टाइपिंग का इंतज़ार नहीं करती।
Pine के ब्रेसेस के बाहर — फिर भी उसी फ़ाइल में — लिखें public class Cup। क्लास के ब्रेसेस के अंदर एक फ़ील्ड पंक्ति लिखें: int fill;। इस पहले बॉक्स पर कोई मेथड नहीं है। इस पेज पर Cup में कोई Main नहीं है। चलाने से पहले फ़ाइल सेव करें।
पहला बॉक्स वाला प्रोग्राम अकेला Cup दिखाता है ताकि आप फ़ील्ड साफ़ पढ़ सकें। दूसरा बॉक्स वाला प्रोग्राम रखा हुआ आकार है जहाँ Pine fill सेट और लिखता है।
using System;
public class Cup
{
int fill;
}
Pine fill असाइन करता है, फिर लिखता है
Pine में public static void Main() रहता है। Main के अंदर क्रम से तीन पंक्तियाँ लिखें: Cup c = new Cup();, फिर c.fill = 3;, फिर Console.WriteLine(c.fill);। पहली पंक्ति ऑब्जेक्ट बनाती है। दूसरी उसी ऑब्जेक्ट के fill में 3 संग्रहीत करती है। तीसरी संग्रहीत संख्या लिखती है। इस पेज पर आप c.beep(); नहीं बुलाते। वह ऑब्जेक्ट पाठ था।
using System;
public class Pine
{
public static void Main()
{
Cup c = new Cup();
c.fill = 3;
Console.WriteLine(c.fill);
}
}
public class Cup
{
int fill;
}
रखी हुई फ़ाइल ऊपर से पढ़ें। using System; छोटे नाम तैयार करता है। public class Pine स्टार्टर है। public static void Main() वह जगह है जहाँ रनटाइम शुरू होता है। new Cup() एक ऑब्जेक्ट बनाता है और उसे c में रखता है। असाइनमेंट c.fill = 3 उसी ऑब्जेक्ट के फ़ील्ड में 3 लिखता है। WriteLine(c.fill) वही फ़ील्ड पढ़ता है और 3 लिखता है। स्क्रीन पर संख्या ऑब्जेक्ट पर संग्रहीत मान है, "ok" जैसी कठोर स्ट्रिंग प्रिंट नहीं।
dotnet run से चलाएँ। प्रोग्राम एक पंक्ति लिखता है और रुक जाता है। वह आपके टाइप करने का इंतज़ार नहीं करता। अगर dotnet run इंतज़ार करे, तो ReadLine अभी फ़ाइल में है। उस पंक्ति को हटाएँ और Pine में ऊपर की तीन पंक्तियाँ रखें, Cup में fill फ़ील्ड के साथ। स्क्रीन 3 दिखाती है। अगर स्क्रीन ok दिखाए, तो बचा c.beep(); कॉल अभी चल रहा है। अगर स्क्रीन अक्षर Cup दिखाए, तो लिखने की पंक्ति में कोट्स हैं: Console.WriteLine("Cup");। गलत पंक्ति दिखने पर आप .NET SDK दोबारा इंस्टॉल नहीं करते।
एक बार फिर रन क्रम से चलें। C# Pine.Main से शुरू होता है। पहला स्टेटमेंट new Cup() से एक ऑब्जेक्ट बनाता है और उसे c में रखता है। दूसरा c.fill में 3 संग्रहीत करता है। तीसरा वह फ़ील्ड लिखता है। फिर Main खत्म होता है। फ़ील्ड नाम fill क्लास में एक बार घोषित है। Cup से बने हर ऑब्जेक्ट को उस नाम के लिए अपना स्लॉट मिलता है। जब आप c.fill लिखते हैं, पहले ऑब्जेक्ट का नाम, फिर उस ऑब्जेक्ट पर स्लॉट। यही क्रम — ऑब्जेक्ट, फिर फ़ील्ड — इस पेज का आकार है।
क्लास, ऑब्जेक्ट और फ़ील्ड साथ-साथ
तीन नाम एक छोटी टेबल में एक बार पढ़ें। इस पेज पर फ़ील्ड पंक्ति हमेशा एक ऑब्जेक्ट से होकर जाती है।
📊 class object field
| Name | What it is on this page |
|---|---|
Cup |
the class / type beside Pine |
c |
one object built with new Cup() |
c.fill |
the int stored on that object |
बिना ऑब्जेक्ट Cup.fill = 3; लिखना इस शुरुआती आकार से मेल नहीं खाता। फ़ील्ड new के बाद हर ऑब्जेक्ट का है। पहले बनाएँ, फिर चर से असाइन करें। केवल new Cup(); लिखना और नतीजा न रखना भी fill के लिए कोई नाम नहीं छोड़ता। रखें Cup c = new Cup(); फिर c.fill = 3;।
बचा ऑब्जेक्ट डेमो Main को उलझा सकता है। जो फ़ाइल अभी भी Chip क्लास के साथ c.beep(); बुलाती है वह पिछला पाठ है। इस पेज के लिए Cup और Pine और fill फ़ील्ड रखें। यहाँ beep की ज़रूरत नहीं।
अगर आप केवल Console.WriteLine(c); लिखें, स्क्रीन साफ़ 3 नहीं दिखाएगी। वह डिफ़ॉल्ट ऑब्जेक्ट टेक्स्ट प्रिंट करता है। संग्रहीत संख्या देखने के लिए लिखें Console.WriteLine(c.fill);।
दो cup अलग fill रखते हैं
आप Cup से दो ऑब्जेक्ट बना सकते हैं। हर एक का अपना fill है। एक बदलने से दूसरा नहीं बदलता।
Pine में आप लिख सकते हैं Cup a = new Cup(); और Cup b = new Cup();, फिर a.fill = 2; और b.fill = 9;, फिर a.fill और b.fill लिखें। dotnet run के बाद स्क्रीन पर एक पंक्ति में 2 और अगली में 9 दिखना चाहिए। दोनों ऑब्जेक्ट उस क्लास पाठ को साझा करते हैं जो fill घोषित करता है, लेकिन हर ऑब्जेक्ट अपनी संख्या रखता है।
अगर आप दो अलग संख्याएँ चाहते थे और दोनों लिख एक ही मान दिखाएँ, जाँचें कि आपने दोनों फ़ील्ड असाइन किए और Cup b = a; नहीं लिखा। वह पंक्ति b को उसी ऑब्जेक्ट की ओर इंगित करती है जिसकी ओर a है, इसलिए दोनों नाम एक fill साझा करते हैं। इस पेज पर जब दो अलग fill चाहें तो दो new Cup() व्यंजक लिखें।
उस अभ्यास के लिए तीसरे बॉक्स वाले प्रोग्राम की ज़रूरत नहीं। Pine सावधानी से संपादित करें और फिर चलाएँ। फिर अगर क्विज़ का पहला आकार चाहें तो एकल-cup बॉक्स वापस ला सकते हैं।
कंस्ट्रक्टर बाद में क्या जोड़ेंगे
यह पेज new के बाद अलग पंक्ति से फ़ील्ड असाइन करता है: c.fill = 3;। बाद का पेज — कंस्ट्रक्टर — ऑब्जेक्ट बनते समय शुरुआती मान रखने का दूसरा तरीका दिखाएगा। यहाँ सादे फ़ील्ड और new के बाद असाइनमेंट पर रहें। इस पेज पर कंस्ट्रक्टर मेथड न बनाएँ।
जिन फ़ील्ड को आप कभी असाइन नहीं करते उनके लिए डिफ़ॉल्ट मान होते हैं: int फ़ील्ड 0 से शुरू होता है। अगर किसी असाइनमेंट से पहले c.fill लिखें, स्क्रीन 0 दिखा सकती है। यह पेज अभी भी वही असाइनमेंट सिखाता है जो आप स्वयं लिखते हैं, इसलिए मुख्य डेमो में लिखने से पहले c.fill = 3; रखें।
Cup को Pine के ब्रेसेस के अंदर नेस्ट न करें। इस पेज पर दोनों क्लास फ़ाइल में समान स्तर पर बैठती हैं। फ़ील्ड Cup के अंदर है। Main Pine के अंदर है। अगर बिल्ड Pine कंपाइल करते समय Cup न ढूँढे, जाँचें कि public class Cup उसी फ़ाइल में है। अगर आप 3 चाहते थे और स्क्रीन 0 दिखाए, असाइनमेंट पंक्ति गायब हो सकती है या लिखने के बाद चलती हो — c.fill = 3; को Console.WriteLine(c.fill); के ऊपर रखें।
आप Cup के अंदर int fill; घोषित कर सकते हैं, Cup c = new Cup(); बना सकते हैं, c.fill = 3; असाइन कर सकते हैं, और Pine.Main से c.fill लिख सकते हैं। dotnet run से चलाएँ। स्क्रीन 3 दिखाती है। दो ऑब्जेक्ट दो अलग fill रख सकते हैं। fill को हर cup पर लेबल वाला स्लॉट समझें जिसे आप new से बनाते हैं। Pine वही दरवाज़ा है जो आप dotnet run से खोलते हैं। अगला पेज कंस्ट्रक्टर है, जहाँ new ऑब्जेक्ट बनाते समय आप मान रखना शुरू करते हैं।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी