Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
полный ответ по веб сервис.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
324 Кб
Скачать
☆

8) Класс әдістері. Әдістерді қайталап анықтау.

Класс (Class)  ортақ қасиетттері (атрибуттары), тәртібі (функциялары), семантикасы және басқа объектермен байланысы бар объектер тобын анықтайды. Класс құрамына кіретін функциялар класс әдістері болып табылады. Класс анықтамасы class қызметші сөзінен басталып, класс есімі жазылады. Құрылым сияқты, класс денесі фигуралық жақшаға алынып, «нүктелі үтір» белгісімен аяқталады.

Барлық тілдерде стандартты типтер бар, мысалы int.Кластар объектілер қандай берілгендер мен функциялардан тұратындығын анықтайтын форма болып табылады. Класты жариялау барысында ешқандай объект құрылмайды, мысалы int типі int айнымалының бар екендігін білдермейтін сияқты. Яғни класс өзара ұқсас объектілер жиынтығын сипаттау үшін қажет ұғым.

Класқа тиісті объекті кластың экземпляры деп аталады.Класс ұғымы мұрагерлік ұғымына алып келеді. С++ тілінде басқа кластарды анықтайтын класты негізгі класс деп атайды. Қалған кластар, оның қасиеттерін мұрагерлікке алады да, өздерінің қосымша басқа қасиеттерін қабылдайды. Оарды туынды класстар деп атайды. Құрылған класс басқа программаларда да қолданылуы үмкін. Бұл қасиет класс кодын қайталап қолдануға мүмкіндік береді.

Класты қалай құрады

1.      Browser  терезесінің Logіcol Vіew элементіне тышқан сілтеушіні қойып, конткстік менюді белсенді ету үшін оң батырмасын шертеміз.

2.      менюді New--- Class элементтерін таңдау; Browser терезесінде кескінделген ағаш (бұтақ)жаңа класқа сәйкес келетін New- Class элементімен толықтырылады.

3.      New-Class элементін таңдап және кластың қажет атауын енгізіп оны өзгертеміз.

9)

 Кластың статикалық берілгендері

Егер кластың берілгендер өрісі static қызметші сөзімен сипатталса, онда бұл өрістің мәні сол кластың барлық объектілері үшін бірдей болады. Кластың статикалық берілгендері барлық объектілер қандай да бірдей мәндерді бірлесе қолданғанда пайдалы.

Статикалық өріс өз мінездемесі бойынша статикалық айнымалыға ұқсас: ол класс ішіде ғана көрінеді, ал оның өмірінің уақыты программаның өмір сүру уақытымен сәйкес келеді. Бірде бір класс объектісі болмаса да, статикалық айнымалысынан өзгешелігі кластың статикалық өріс бар болады.

Кластың статикалық айнымалысын қолдану мысалын қарастырайық.

Берілген мезетте әр объекті өзі сияқты жадыда қанша объект бар екендігін білу қажет болсын. Бұл жағдайда класқа count есімді статикалық айнымалыны енгізіеміз. count айнымалысын барлық объектілір көре алады және олардың бәрі бірдей мәнді көреді.

// statdata. cpp

# include lt; iostream. hgt;

class foo

{ private:

static int count;

public:

foo ( )

{ count ;}

int getcount ( )

{ return count; }

};

int foo : : count = 0; // count анықтамасы

int main( )

{ foo f1, f2, f3;

cout lt;lt; Объект саны = lt; cout lt;lt; Объект саны = lt; cout lt;lt; Объект саны = lt; return 0; }

f1, f2, f3 объектілері үшін main( ) функциясында конструктор үш рет шақырылады, count өрістерін инкременттеу де үш рет болады.

getcount ( ) әдісі count ты қайтарады. Барлық жағдайда да бұл әдіс бір мәнді қайтарады.

Объект саны =3

Объект саны =3

Объект саны =3

Егер статикалық емес, автоматты count өрісін қолдансақ, онда конструктор әр объекті үшін бұл өрістің мәнін бірге арттырар еді.

Объект саны =1

Объект саны =1

Объект саны =1

Кластың статистикалық және статистикалық емес мүшелерінің арасындағы айырмашылық. Конструктор параметрі өз класы бола алмайды, бірақ көшіру конструкторы сияқты оған жасалған сілтеме болуы мүмкін.               Кластың компонент-берілгенінің жалғыз данасы болуы үшін және кластың жаңа әрбір кластың обьектісінің құрылуы кезінде басып шығарылмауы (не тиражировался) үшін ол класты статикалық сияқты анықтау керек, яғни Static  атрибуты болуы керек.               Кластың статикалық компоненттік функциялары нақты обьект атауы жоқ кластың  Static берілгендеріне қатынасуды қамтамасыз етеді. Кластың   Static функциялары функциялардың жай (статикалық емес) компоненттік барлық негізгі ерекшеліктерін сақтайды. Статикалық класс мүшелерінен басқа обьект – кластарының мүшелері кластың әрекеттер аймағына иеленеді. Бұл олар класс ішінде ғана орындалатынын білдіреді. Обьект – класс мүшелер өмірінің уақыты обьект-класын анықтау мерзімінен оның бұзылу мерзіміне дейінгі уақытта анықталады. Статикалық мүше-берілгендер мен әдістер глобалды болып табылады және қалыпты статикалық айнымалылар мен функциялармен салыстырғанда осы класс сипаттамасы бар көпфайлды жобаның барлық файлдары үшін рұқсат етілген болып табылады. Статикалық мүше-берілгендер қалыпты глобалды айнымалылар сияқты жоба файлдарының біреуінде анықтау керек. Статикалық мүше-берілгендер және функция-мүшелер бір обьектті құрғанға дейін де рұқсат етілген болады. Оларға «::» операторы арқылы қатынасуға болады.