Member,Structda,Field,Property,Method,Constructor("this"),overloading,overriding,readonly().
Member - C# da a'zo sinf, struktura yoki interfeysning komponentidir. A'zolar ob'ekt bilan bog'liq xatti-harakatlar va ma'lumotlarni belgilaydi. Field - maydon ma'lumotlarni saqlash uchun sinf yoki struktura ichida e'lon qilingan o'zgaruvchidir. Maydonlar ob'ektning holatini yoki atributlarini belgilaydi. Property - xususiyat private maydonlarga boshqariladigan kirishni ta'minlaydigan sinf a'zolarining maxsus turidir. Xususiyatlar inkapsulyatsiyani amalga oshirishda maydon qiymatlarini olish (retrieve) va o'rnatish (modify) imkonini beradi. Method - bu usul ma'lum bir vazifani bajaradigan kod blokidir. Usullar kodni qayta ishlatish, modullilik va dasturda mantiqni tashkil qilishda yordam beradi. Constructor - bu sinf ob'ekti yaratilganda avtomatik ravishda chaqiriladigan maxsus usul. U maydonlarni ishga tushirish va ob'ektni sozlash uchun ishlatiladi. class ClassName { public ClassName() { // Initialization code } } this - konstruktordagi this kalit so'zi bir sinfdagi boshqa konstruktorni chaqirish uchun ishlatiladi. Bu konstruktor zanjirida yordam beradi, kodning takrorlanishini kamaytiradi. how to use: class ClassName { public string Property1; public int Property2; // Constructor 1 (Default) public ClassName() : this("Default", 0) { } // Constructor 2 (Single Parameter) public ClassName(string property1) : this(property1, 10) { } // Constructor 3 (Full Initialization) public ClassName(string property1, int property2) { Property1 = property1; Property2 = property2; } } for example: // Constructor 1 (Default) public Person() : this("Unknown", 0) { } // Constructor 2 (Parameterized) public Person(string name) : this(name, 18) { } // Constructor 3 (Full Initialization) public Person(string name, int age) { Name = name; Age = age; } public void Introduce() => Console.WriteLine($"Hi, I'm {Name}, {Age} years old!"); } ` overloading - member overloading bu faqat parametrlar soni yoki turi bilan farq qiladigan, lekin bir xil nomga ega bo'lgan bir xil turdagi ikki yoki undan ortiq a'zolarni yaratishni anglatadi. ` public static class Console { public void WriteLine(); public void WriteLine(string value); public void WriteLine(bool value); } ` overriding - overriding modifikatori meros qilib olingan usul, xususiyat, indeksator yoki hodisaning mavhum yoki virtual amalga oshirilishini kengaytirish yoki o'zgartirish uchun talab qilinadi. exapmle: ` using System; class Animal { public virtual void Speak() { Console.WriteLine("Animal makes a sound."); } } class Dog : Animal { public override void Speak() { Console.WriteLine("Dog barks."); } } class Program { static void Main() { Animal myAnimal = new Animal(); myAnimal.Speak(); // Output: Animal makes a sound. Animal myDog = new Dog(); myDog.Speak(); // Output: Dog barks. } } ` readonly - (faqat field) maydonga tayinlash faqat deklaratsiyaning bir qismi sifatida yoki bir xil sinfdagi konstruktorda sodir bo'lishi mumkinligini ko'rsatadi. Maydon deklaratsiyasi va konstruktor ichida faqat o'qish uchun maydon bir necha marta tayinlanishi va qayta tayinlanishi mumkin. public readonly double Sum() { return X + Y; }

Member - C# da a'zo sinf, struktura yoki interfeysning komponentidir. A'zolar ob'ekt bilan bog'liq xatti-harakatlar va ma'lumotlarni belgilaydi.
Field - maydon ma'lumotlarni saqlash uchun sinf yoki struktura ichida e'lon qilingan o'zgaruvchidir. Maydonlar ob'ektning holatini yoki atributlarini belgilaydi.
Property - xususiyat private maydonlarga boshqariladigan kirishni ta'minlaydigan sinf a'zolarining maxsus turidir. Xususiyatlar inkapsulyatsiyani amalga oshirishda maydon qiymatlarini olish (retrieve) va o'rnatish (modify) imkonini beradi.
Method - bu usul ma'lum bir vazifani bajaradigan kod blokidir. Usullar kodni qayta ishlatish, modullilik va dasturda mantiqni tashkil qilishda yordam beradi.
Constructor - bu sinf ob'ekti yaratilganda avtomatik ravishda chaqiriladigan maxsus usul. U maydonlarni ishga tushirish va ob'ektni sozlash uchun ishlatiladi.
class ClassName
{
public ClassName()
{
// Initialization code
}
}
this - konstruktordagi this kalit so'zi bir sinfdagi boshqa konstruktorni chaqirish uchun ishlatiladi. Bu konstruktor zanjirida yordam beradi, kodning takrorlanishini kamaytiradi.
how to use:
class ClassName {
public string Property1;
public int Property2;
// Constructor 1 (Default)
public ClassName() : this("Default", 0) { }
// Constructor 2 (Single Parameter)
public ClassName(string property1) : this(property1, 10) { }
// Constructor 3 (Full Initialization)
public ClassName(string property1, int property2) {
Property1 = property1;
Property2 = property2;
}
}
for example:
// Constructor 1 (Default)
public Person() : this("Unknown", 0) { }
// Constructor 2 (Parameterized)
public Person(string name) : this(name, 18) { }
// Constructor 3 (Full Initialization)
public Person(string name, int age) {
Name = name;
Age = age;
}
public void Introduce() => Console.WriteLine($"Hi, I'm {Name}, {Age} years old!");
}
`
overloading - member overloading bu faqat parametrlar soni yoki turi bilan farq qiladigan, lekin bir xil nomga ega bo'lgan bir xil turdagi ikki yoki undan ortiq a'zolarni yaratishni anglatadi.
`
public static class Console
{
public void WriteLine();
public void WriteLine(string value);
public void WriteLine(bool value);
}
`
overriding - overriding modifikatori meros qilib olingan usul, xususiyat, indeksator yoki hodisaning mavhum yoki virtual amalga oshirilishini kengaytirish yoki o'zgartirish uchun talab qilinadi.
exapmle:
`
using System;
class Animal
{
public virtual void Speak()
{
Console.WriteLine("Animal makes a sound.");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Dog barks.");
}
}
class Program
{
static void Main()
{
Animal myAnimal = new Animal();
myAnimal.Speak(); // Output: Animal makes a sound.
Animal myDog = new Dog();
myDog.Speak(); // Output: Dog barks.
}
}
`
readonly - (faqat field) maydonga tayinlash faqat
deklaratsiyaning bir qismi sifatida yoki bir xil
sinfdagi konstruktorda sodir bo'lishi mumkinligini
ko'rsatadi. Maydon deklaratsiyasi va konstruktor ichida
faqat o'qish uchun maydon bir necha marta tayinlanishi va qayta tayinlanishi mumkin.
public readonly double Sum()
{
return X + Y;
}