Darsliklar C# Obyekt va Sinflar

C# C# Obyekt va Sinflar

Obyekt va sinflar — OOP ning amaliy poydevori. OOP darsida ular bilan qisqacha tanishdik; endi sinf tuzilishini, uning a’zolarini va obyekt yaratish jarayonini batafsil ko’rib chiqamiz. Sinfni yaxshi tushunsangiz, keyingi barcha OOP tushunchalari osonlashadi.

Sinf (class)obyektlar yaratish uchun andoza. U obyektning maydonlarini (ma’lumot) va metodlarini (xatti-harakat) bir joyda ta’riflaydi. Obyekt — shu andozadan new bilan yaratilgan nusxa.

Sinf tuzilishi

Sinf ichida maydonlar va metodlar bo’ladi. Mahsulot sinfini quramiz:

using System;

class Mahsulot
{
    public string Nomi;
    public int Narxi;

    public void Korsat()
    {
        Console.WriteLine($"{Nomi} — {Narxi} so'm");
    }
}

Mahsulot telefon = new Mahsulot();
telefon.Nomi = "iPhone";
telefon.Narxi = 12000000;
telefon.Korsat();
iPhone — 12000000 so'm

Bu yerda Nomi va Narxi — maydonlar, Korsat() — metod. Metod obyektning o’z maydonlariga bevosita murojaat qila oladi.

Xususiyatlar (Properties)

C#’ning o’ziga xos imkoniyati — xususiyatlar (properties). Ular maydonga nazorat qilinadigan kirish beradi:

using System;

class Talaba
{
    public string Ism { get; set; }
    public int Ball { get; set; }
}

Talaba t = new Talaba();
t.Ism = "Farrux";
t.Ball = 95;
Console.WriteLine($"{t.Ism}: {t.Ball}");
Farrux: 95

{ get; set; } — bu avto-xususiyat (auto-property). U maydonga o’qish (get) va yozish (set) imkonini beradi, ammo kelajakda tekshiruv qo’shish uchun asos yaratadi. Bu C#’da maydonlar o’rniga keng ishlatiladi.

Maydonlarning standart qiymati

C#’da obyekt maydonlari qiymat berilmasa, standart qiymatga ega bo’ladi:

Tur Standart qiymat
int, double 0
bool false
string, obyekt null

Bir sinf — ko’p obyekt

Bitta andozadan mustaqil obyektlar yaratsa bo’ladi:

using System;

class Talaba { public string Ism { get; set; } }

Talaba a = new Talaba { Ism = "Farrux" };
Talaba b = new Talaba { Ism = "Aziz" };
Console.WriteLine(a.Ism);
Console.WriteLine(b.Ism);
Farrux
Aziz

E’tibor bering: new Talaba { Ism = "Farrux" } — obyektni yaratishning o’zidayoq maydonini to’ldirish (object initializer). Bu C#’ning qulay imkoniyati.

Xulosa

Bu bo’limda sinf tuzilishi, new bilan obyekt yaratish, xususiyatlar (get; set;), standart qiymatlar va object initializer’ni ko’rib chiqdik. Sinf — ma’lumot va xatti-harakatni jamlovchi birlik. Keyingi darsda metodlarga chuqurroq kirib boramiz.