Member - Bu struct/class'ning a'zolariga nisbatan qo'llanadigan so'z.
Struct/classning uchta member'i bor:
- Field
- Property
- Method
1. Field: Bu structda oddiy ichida qiymat saqlovchi o'zgaruvchi:
struct Student
{
public string Name; // Field
public int Age; // Field
}
2. Property: Field'ga qiymat saqlash uchun avvalo Property'dan o'tadi. Property get va set methodlari yordamida qiymatni olib qaytarib beradi:
struct Student
{
private string name; //private Field
public string Name //property
{
get { return name; } //getter
set { name = value; } //setter
}
}
3. Method: Bu ichida biror bir ishni ketma ketligini saqlaydi:
struct Student
{
public string Name;
public int Age;
public void Display() // Metod
{
Console.WriteLine($"Ism: {Name}, Yosh: {Age}");
}
}
4. Constructor (Ctor): Struct/classdan obyekt ochilganda avtomatik tarzda chaqiriladigan. Biz bilgan usha oddiy method. Lekin ctorning qaytaruvchi qiymati bo'lmaydi va void ham yozilmaydi. Ctor - ctor bo'lishi uchun ochiladigan methodning nomi structning nomi bilan bir-xil bo'lishi shart!!
struct Student
{
public string Name;
public int Age;
public Student(string name, int age) // Konstruktor
{
Name = name;
Age = age;
}
}
5. Readonly: Struktur Fieldlarini o‘zgartirib bo‘lmaydigan qilib e'lon qilish. Fieldni faqatgina o'qish uchun (ya'ni get uchun) cheklab qo'yadi. Shu holatda unga qiymatni faqatgina ctor'da bera olamiz:
struct Circle
{
public readonly double Radius; //readonly
public Circle(double radius)
{
Radius = radius;
}
public double GetArea() => Math.PI * Radius * Radius;
}
6. Method Overloading: Bu bir xil nomli bo'ladi. Lekin ichidagi parametrlari bilan farq qiladi:
struct Calculator
{
public int Add(int a, int b)
{
return a + b;
}
public double Add(double a, double b) // Parametrlari farqli
{
return a + b;
}
public int Add(int a, int b, int c) // Parametrlari farqli
{
return a + b + c;
}
}
Top comments (0)