C++ тилиндеги класстар жана объекттер
Маалыматты жана жүрүм-турумду бир таза топтомго чогулт
- класс менен объекттин айырмасын түшүндүрө аласың,
- маалыматы жана мүчө-функциялары бар жөнөкөй класс жаза аласың,
- объекттерди түзүп, чекит (
.) аркылуу колдоно аласың, - маалыматты
privateжанаpublicменен коргой аласың (инкапсуляция), - объектти даярдаган конструктор жаза аласың.
1. Схема жана андан жасалган нерселер
Классты печенье калыбы катары элестет. Калыпты жеп болбойт — ал форманы гана аныктайт. Аны камырга ар басканда чыныгы печенье чыгат: объект.
Демек, класс — план, ал эми объект — ошол план боюнча жасалган чыныгы нерсе. Бир Dog классынан көп ит-объектти жасаса болот — Rex, Bella жана башкалар — жана ар биринин өз маалыматы болот.
2. Биринчи классың: маалымат + жүрүм-турум
Класс эки нерсени сактайт: маалымат (аларды атрибут же мүчө-өзгөрмө деп коюшат) жана жүрүм-турум (мүчө-функциялар, кээде метод деп аталат). Бул жерде Dogдун name жана age бар, жана ал bark() кыла алат.
#include <iostream>
#include <string>
using namespace std;
class Dog {
public:
string name; // data: an attribute
int age;
void bark() { // behaviour: a member function
cout << name << " says: Woof!" << endl;
}
};
int main() {
Dog d; // create one object of type Dog
d.name = "Rex"; // give its data some values
d.age = 3;
d.bark(); // call its behaviour
return 0;
}
Күтүлгөн натыйжа:
Rex says: Woof!Объектти Dog d; деп түзөбүз, анын маалыматына чекит аркылуу жетебиз (d.name), жана анын жүрүм-турумун d.bark(); менен чакырабыз. Байкасаң, bark() функциясы nameди түз колдонот — маалымат жана жүрүм-турум класстын ичинде чогуу жашайт.