Member - Bu struct
/class
'ning a'zolariga nisbatan qo'llanadigan so'z.
Struct
/class
ning 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
/class
dan obyekt ochilganda avtomatik tarzda chaqiriladigan. Biz bilgan usha oddiy method. Lekin ctor
ning qaytaruvchi qiymati bo'lmaydi va void
ham yozilmaydi. Ctor
- ctor bo'lishi uchun ochiladigan methodning nomi struct
ning 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 Field
larini o‘zgartirib bo‘lmaydigan qilib e'lon qilish. Field
ni 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)