Fields, Properties, and Methods c# In Hindi
C# प्रोग्रामिंग लैंग्वेज में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) कांसेप्ट एक यूजर डिफाइन क्रिएटेड क्लास में फ़ील्ड, प्रॉपर्टीज़, और क्लास मेथड का एक क्लास के बेसिक एलिमेंट या पोरशन होते हैं। तो चलिए C# प्रोग्रामिंग में क्लास के फ़ील्ड, प्रॉपर्टीज़, और मेथड इनमें से हर किसी एलिमेंट को बेहतर समझते हैं, और C# प्रोग्रामिंग में फ़ील्ड, प्रॉपर्टीज़, और मेथड यूज़ कैसे किया जाता है। ये डिटेल में जाने।

Fields, Properties, and Methods in the C# Object-Oriented Programming (OOP) Concepts.
Field in a C# Class.
C# प्रोग्राम में डिक्लेअर किसी क्लास में फ़ील्ड एक यूजर डिफाइन वेरिएबल होता है, जिसे किसी क्लास, स्ट्रक्चर या इंटरफ़ेस में डिक्लेयर या डिफाइन किया जाता है। क्लास में डिक्लेअर फ़ील्ड किसी क्लास ऑब्जेक्ट के स्टेट या डेटा को रिप्रेजेंट करते हैं। क्लास में फ़ील्ड एलिमेंट का यूज़ उन डाटा वैल्यू को स्टोर और प्रोसेस करने में किया जाता है. जिसे किसी यूजर डिफाइन क्लास ऑब्जेक्ट या क्लास में काम करने के लिए एसेंशियल माना जाता है।
- Class Field – यूजर डिफाइन क्लास में फील्ड एक वेरिएबल होता है, जिसमें क्लास डेटा ज्यादातर प्राइवेट नेचर में डिफाइन होता है।
- Class Access Modifier – क्लास में यूज़ फ़ील्ड एलिमेंट को ज्यादातर प्राइवेट के तौर पर मार्क या डिक्लेअर किया जाता है, जिससे कि उन्हें मौजूदा क्लास में जरूरत पड़ने पर एनकैप्सुलेट किया जा सके और क्लास प्रॉपर्टीज़ या मेथड के ज़रिए उनमे कंट्रोल्ड एक्सेस प्रोवाइड किया जा सके।
Syntax of a field in a class.
class Employee
{
// here we can declare important class Field declarations
private string emp_name; // here we declare emp_name as Private class field
private int emp_age; // here we declare emp_age as Private class field
}
In the above example.
- यहाँ इस एक्साम्प्ल में emp_name और emp_age, Employee क्लास के अंदर यूजर डिफाइन क्लास के फ़ील्ड हैं। ये क्लास में डिफाइन फ़ील्ड प्राइवेट नेचर के हैं, इसका मतलब है कि इन्हें सिर्फ़ मौजूदा क्लास के अंदर ही क्लास एक्सेस या जरूरत पड़ने पर मॉडिफ़ाई किया जा सकता है।
Properties in a C# Class.
यूजर डिफाइन क्लास में प्रॉपर्टी एक मेंबर होता है, जो क्लास में डिफाइन प्राइवेट फ़ील्ड की वैल्यू को रीड करने, राइट करने या जरूरत पड़ने पर प्रोसेस करने का एक मेथड प्रोवाइड करता है। क्लास में प्रॉपर्टीज़ का यूज़ ज्यादातर क्लास फ़ील्ड के अल्टरनेटिव के रूप में तब किया जाता है. जब आप किसी क्लास में फ़ील्ड का एक्सेस कंट्रोल करना चाहते हैं, या किसी प्रकार के वैलिडेशन ऐड करना चाहते हैं, या डायनामिक आर्डर में क्लास वैल्यू को कैलकुलेट करना चाहते हैं।
- Get Accessor – यह क्लास में प्रॉपर्टी की वैल्यू को रिट्रीव करता है।
- Set Accessor – यह क्लास में प्रॉपर्टी की वैल्यू को सेट करता है।
C# प्रोग्राम में क्लास प्रॉपर्टीज़, यूजर डिफाइन क्लास डेटा को एक्सेस करने का एक क्लियर, और इजी मेंटेन या कण्ट्रोल करने के लिए एक प्रोसेस प्रोवाइड करता हैं. इसके साथ ही क्लास में एनकैप्सुलेशन फीचर्स को भी मेन्टेन करता हैं।
Syntax of C# Class Properties.
class Employee
{
// here we define a Private employee class field
private string emp_name;
// Property with getter and setter
public string Name
{
get { return emp_; } // Getter method here it returns the class field value
set { emp_name = data; } // Setter method here it assigns a value to the field
}
// here it Property with an automatic getter and setter auto-implemented concept
public int Emp_Age { get; set; }
}
Class Properties Explanation.
- यहाँ इस एक्साम्प्ल में एम्प्लॉई Name प्रॉपर्टी मैन्युअल रूप से get और set एक्सेसर दोनों मेथड को डिफाइन करती है, जिससे इसे कंट्रोल किया जा सकता है कि एम्प्लॉई क्लास में emp_name फ़ील्ड को जरूरत पड़ने पर कैसे एक्सेस या मॉडिफाई किया जाए।
- Emp_Age एम्प्लॉई क्लास प्रॉपर्टी एक ऑटो-इम्प्लीमेंटेड क्लास प्रॉपर्टी है। इसमें C# कंपाइलर अपने आप इसके लिए बैकिंग फ़ील्ड बनाता है, और C# को इसे क्लेअरली डिफ़ाइन करने की ज़रूरत नहीं है।
Using Class Properties.
class Employee
{
static void Main()
{
Employee employees = new Employee();
// here we Setting property values for class object
employees.Emp_Name = “Harry Deora”; // here we Uses the setter for Emp_Name property
employees.Emp_Age = 24; // here we Uses the setter for employee Age property
// here we use Getting property values for class object
Console.WriteLine($”Employee Name is – {employees.Emp_Name}, Employee Age is – {employees.Emp_Age}”);
}
}
Class Methods in C#.
C# प्रोग्राम में डिफाइन मेथड एक यूजर डिक्लेअर क्लास फ़ंक्शन होता है, जो किसी कस्टम क्लास या क्लास स्ट्रक्चर के अंदर डिक्लेअर किया जाता है. जो की मौजूदा क्लास ऑब्जेक्ट के बिहेवियर या करंट एक्शन को डिफ़ाइन करता है। एक क्लास में डिक्लेअर मल्टीप्ल क्लास मेथड्स क्लास के फ़ील्ड और प्रॉपर्टीज़ पर ऑपरेट कर सकते हैं, और ये यूजर डिफाइन क्लास से वेरिएबल पैरामीटर वैल्यू को एक्सेप्ट कर सकते हैं, और जरूरत पड़ने पर क्लास मेथड डिजायर वैल्यू आउटपुट को रिटर्न कर सकते हैं।
- Instance class methods – इंस्टैंस क्लास मेथड ये क्लास के इंस्टेंस से कनेक्टेड होते हैं। और इन क्लास मेथड्स को कॉल करने के लिए आपको एक क्लास ऑब्जेक्ट को क्रिएट करना होगा।
- Static class methods – स्टैटिक क्लास मेथड क्लास से कनेक्टेड होते हैं, और आपको क्लास में स्टैटिक क्लास मेथड को कॉल करने के लिए कोई इंस्टेंस क्रिएट करने की ज़रूरत नहीं होती है।
Syntax of Class Methods.
class Employee
{
// here we define a employee class Fields
private string emp_name;
private int emp_age;
// here we create a Constructor for employee class
public Employee(string emp_name, int emp_age)
{
this.emp_name = emp_name;
this.emp_age = emp_age;
}
// here we use Instance class method
public void EmployeeInfo()
{
Console.WriteLine($”Employee Name is – {emp_name}, Employee Age is – {emp_age}”);
}
// here we define a class Method with a return value
public int FindDob()
{
return DateTime.Now.Year – emp_age;
}
// here we define a Static method
public static string GetClassName()
{
return “Employee”;
}
}
Explaining Class Methods.
- यहाँ इस एक्साम्प्ल में EmployeeInfo() एक इंस्टेंस क्लास मेथड है, जो एम्प्लॉई क्लास में डिफाइन एम्प्लॉई की डिटेल्स इनफार्मेशन को डिस्प्ले करती है। जिसमे FindDob() एक इंस्टेंस क्लास मेथड है, जो एम्प्लॉई के डेट ऑफ़ बर्थ को फाइंड कर कैलकुलेट करके डिस्प्ले करता है।
- यहाँ GetClassName() एक स्टैटिक फंक्शन मेथड है, जो एम्प्लॉई क्लास से कनेक्टेड है, और यह एक क्लास का नाम इंडीकेट करता है।
Using the method in a C# program.
class Employee
{
static void Main()
{
// here we Creating an object of Employee class
Employee employees = new Employee(“Harry Deora”, 24);
// here it Calling an instance of class method
employees.EmpInfo(); // Result is – Emp_Name – Harry Deora, Emp_Age – 24
// here it Calling a class method with a return value type
int dob = employees.FindDob();
Console.WriteLine($”Date of Birth is – {dob}”); // Result is – Date of Birth is – 2007
// here we use Calling a static class method
Console.WriteLine($”Current Class Name is – {Employee.GetClassName()}”); // Result is – Current Class Name is – Employee
}
}
Important elements of a class, fields, properties, and methods.
Class fields in C#.
- क्लास में डिक्लेअर फील्ड क्लास के इंटरनल डेटा को रिप्रेजेंट करते हैं।
- क्लास में डेटा एनकैप्सुलेशन फीचर्स को सिक्योर करने के लिए सामान्य रूप से प्राइवेट के तौर पर इन्हे मार्क या इंडीकेट किया जाता है।
- क्लास फील्ड को क्लास में डायरेक्ट या प्रॉपर्टीज़ और मेथड्स के माध्यम से इन्हे एक्सेस किया जाता है।
Class properties in C#.
- किसी क्लास में डिफाइन प्रॉपर्टीज क्लास के प्राइवेट फ़ील्ड्स की वैल्यूज़ पाने और सेट करने का मेथड प्रोवाइड करता हैं।
- क्लास प्रॉपर्टीज में गेट्टर और सेटर में कस्टम लॉजिक डिफाइन हो सकता है।
- जब क्लास प्रॉपर्टीज में गेट्टर और सेटर में किसी एक्स्ट्रा क्लास लॉजिक की ज़रूरत नहीं होती, तो यह मौजूदा क्लास में ऑटो-इम्प्लीमेंटेड प्रॉपर्टीज़ कोड को इजी करता हैं।
Class methods in C#.
- किसी यूजर डिफाइन क्लास में उसके ऑब्जेक्ट के बिहेवियर को फिक्स करते हैं।
- इसमें किसी क्लास के मौजूदा फ़ील्ड्स और उनकी डिफ़ॉल्ट प्रॉपर्टीज़ में मॉडिफिकेशन कर सकते हैं।
- यूजर डिफाइन क्लास में वेरिएबल और पैरामीटर्स को एक्सेप्ट कर सकते हैं, और क्लास वैल्यूज़ को जरूरत पड़ने पर रिटर्न कर सकते हैं।
- क्लास में डिफाइन इंस्टेंस मेथड्स को क्लास के ऑब्जेक्ट की ज़रूरत होती है, या स्टैटिक क्लास मेथड्स मौजूदा क्लास से ही कनेक्टेड होते हैं।
Access modifiers and encapsulation concepts in a class.
C# क्लास प्रोग्राम में क्लास डेटा को एनकैप्सुलेट करने के लिए, क्लास फ़ील्ड्स को सामान्य रूप से प्राइवेट नेचर के साथ डिक्लेयर किया जाता है. जिससे की उन्हें क्लास में एक्सटरनली डायरेक्ट एक्सेस न किया जा सके। यह हमें क्लास में प्राइवेट क्लास मेंबर को कंट्रोल करने में हेल्प करते हैं. जिससे कि मौजूदा क्लास प्रॉपर्टीज़ और मेथड्स का यूज़ करके क्लास डेटा को कैसे एक्सेस और मॉडिफ़ाई किया जा सके।
Example of encapsulation with access modifiers.
class Employee
{
private string emp_name; // here we declare emp_name as Private class field
private int emp_age; // here we declare emp_age as Private class field
// here we use Public class property to control access to ’emp_name’ class field
public string Name
{
get { return emp_name; }
set
{
if (!string.IsNullOrEmpty(info)) // here it check employee name Validation
emp_name = info);
else
Console.WriteLine(“Employee Name Should be filled.”);
}
}
// here we use Public property to control access to ’emp_age’ employee class field
public int Age
{
get { return emp_age; }
set
{
if (info) >= 0) // here it check employee age Validation
emp_age = info);
else
Console.WriteLine(“Employee Age is .”);
}
}
// here we use displayinfo() Method to display information
public void DisplayInfo()
{
Console.WriteLine($”Employee Name is – {Name}, employee Age is – {Age}”);
}
}
Example of encapsulation with access modifiers.
- यहाँ एम्लोई क्लास में एम्प्लॉई फ़ील्ड emp_name और emp_age प्राइवेट क्लास मेंबर के रूप में डिफाइन हैं, इस वजह से उन्हें क्लास में एक्सटरनली डायरेक्ट एक्सेस नहीं किया जा सकता है।
- वही एम्प्लॉई क्लास में Name और Age डिफाइन क्लास प्रॉपर्टीज़ इन एम्प्लॉई क्लास फ़ील्ड्स को कंट्रोल्ड या एक्सेस प्रोवाइड करता हैं, जिससे एम्प्लॉई क्लास में किसी भी प्रकार के वैल्यू असाइन करने से पहले उसका वैलिडेशन चेक किया जा सके।
Readonly fields in a class.
किसी यूजर डिफाइन क्लास में एक रीडओनली क्लास फ़ील्ड को सिर्फ़ एक बार ही असाइन किया जा सकता है, या तो क्लास डिक्लेरेशन के पॉइंट पर या किसी यूजर डिफाइन क्लास कंस्ट्रक्टर के अंदर एक पैरामीटर एलिमेंट की तरह। रीडओनली क्लास फ़ील्ड तब यूज़ किया जाता है, जब आप किसी क्लास में ऐसे फ़ील्ड क्रिएट करना चाहते हैं. जिन्हें मौजूदा क्लास में इनिशियलाइज़ेशन करने के बाद कभी मॉडिफाई नहीं किया जाना चाहिए।
class Employee
{
public readonly string DigitalId;
public Employee(string digitalId)
{
DigitalId = digitalId;
}
}
In the case of readonly fields.
- यहाँ इस प्रोग्राम में DigitalId क्लास फील्ड को सिर्फ़ तब असाइन किया जा सकता है, जब मौजूदा क्लास ऑब्जेक्ट क्रिएट किया जाता है, और उसके बाद इसे मॉडिफाई नहीं किया जा सकता है।
Fields, Properties, and Methods Summary in C#.
- Class fields – यूजर डिफाइन क्लास के अंदर क्लास डेटा एलिमेंट को स्टोर करते हैं। ज्यादातर इन्हे एनकैप्सुलेशन कांसेप्ट के लिए क्लास में प्राइवेट मेंबर के रूप में डिक्लेअर किया जाता है।
- Class properties – मौजूदा क्लास में गेट और सेट डाटा एक्सेसर के साथ क्लास फ़ील्ड्स तक कंट्रोल्ड या एक्सेस प्रोवाइड करते हैं। यह मौजूदा क्लास में वैल्यू पाने/सेट करने के लिए कस्टम लॉजिक को डिफाइन कर सकता है।
- Class methods– किसी क्लास के डिफ़ॉल्ट बिहेवियर को डिफाइन करते हैं। यह क्लास में यूजर से वेरिएबल पैरामीटर को इनपुट ले सकते हैं, और जरूरत पड़ने पर क्लास में वैल्यू को रिटर्न कर सकते हैं। क्लास यूजर किसी क्लास के फ़ील्ड्स और प्रॉपर्टीज़ को इससे मैनिपुलेट कर सकते हैं।
