Darsliklar C++ Method (Sinf/Class)

C++ C++ Method (Sinf/Class)

Metod (method) — sinf ichida e’lon qilingan funksiya. Agar maydonlar obyektning “nima ekanini” (ma’lumot) ifodalasa, metodlar uning “nima qila olishini” (xatti-harakat) belgilaydi. Aynan metodlar tufayli obyekt jonli, faol birlikka aylanadi.

Metodsinfga tegishli funksiya bo’lib, o’sha sinf obyektining maydonlariga bevosita murojaat qila oladi va ular ustida amal bajaradi.

Ma’lumotni o’zgartiradigan metod

Metod obyektning o’z maydonlarini o’qishi ham, o’zgartirishi ham mumkin. Hisob sinfida buni ko’ramiz:

#include <iostream>
using namespace std;

class Hisob {
public:
    int balans = 0;

    void toldirish(int summa) {
        balans += summa;
    }

    void korsat() {
        cout << "Balans: " << balans << endl;
    }
};

int main() {
    Hisob h;
    h.toldirish(500);
    h.toldirish(300);
    h.korsat();
    return 0;
}
Balans: 800

toldirish metodi obyektning balans maydonini o’zgartirdi. E’tibor bering: metod ichida balans deb yozganda, u aynan chaqirilgan obyektning maydonini bildiradi.

Qiymat qaytaruvchi metod

Metod return orqali natija qaytarishi mumkin — xuddi oddiy funksiya kabi:

#include <iostream>
using namespace std;

class Kvadrat {
public:
    int tomon;

    int yuza() {
        return tomon * tomon;
    }
};

int main() {
    Kvadrat k;
    k.tomon = 5;
    cout << "Yuza: " << k.yuza() << endl;
    return 0;
}
Yuza: 25

yuza() metodi tomon maydoniga tayanib hisob-kitob qildi va natijani qaytardi. Metod obyekt ma’lumotidan foydalanib “aqlli” amal bajaradi.

this ko’rsatkichi

Har bir metod ichida this degan maxsus ko’rsatkich mavjud — u chaqirilgan obyektning o’ziga ishora qiladi. U ayniqsa parametr nomi maydon nomi bilan bir xil bo’lganda kerak:

#include <iostream>
using namespace std;

class Talaba {
public:
    int ball;

    void ornat(int ball) {
        this->ball = ball;   // this->ball — maydon, ball — parametr
    }
};

int main() {
    Talaba t;
    t.ornat(90);
    cout << "Ball: " << t.ball << endl;
    return 0;
}
Ball: 90

this->ball obyektning maydonini, oddiy ball esa parametrni bildiradi. this chalkashlikni bartaraf etadi va katta sinflarda tez-tez ishlatiladi.

Metodlar va toza dizayn

Yaxshi sinfda har bir metod bitta aniq vazifani bajaradi. Masalan, toldirish, yechish, korsat — har biri o’z ishiga javob beradi. Bu tamoyil kodni tushunarli va o’zgartirishga oson qiladi. Metodlarni mayda, aniq va mazmunli nomli qilib yozing.

Xulosa

Bu bo’limda metodlar bilan obyekt ma’lumotini o’zgartirish va o’qish, qiymat qaytaruvchi metodlar va this ko’rsatkichini ko’rib chiqdik. Metodlar — obyektni jonli qiladigan xatti-harakat. Keyingi darsda konstruktorlar — obyektni yaratish paytida sozlashga o’tamiz.