Класс мүшелерінің атқаратын қызметі

Автор работы: Пользователь скрыл имя, 08 Декабря 2014 в 09:08, курсовая работа

Описание работы

Си++ тілі обьектілі-бағдарланған бағдарламалау тілі болып табылады. Бағдарламалық обьектілерді пайдалану идеясы әр түрлі зерттеушілердің тарапынан көптеген жылдар бойы дамытылып келеді.Сондай типтегі алғашқы тілдердің бірі Симула-67 болып табылады. 1972 жылы Алан Кей жасаған Смолток (Smalltalk) тілінде де обьектілі-бағдарланған бағдарламалау өз статусын бекітті.

Содержание работы

Кіріспе ..................................................................................................................... 3

1 Класты сипаттау ................................................................................................ 6
Класс өрістері мен әдістері ........................................................................... 8
Класс мүшелері .............................................................................................. 13

2 Класс мүшелерінің атқаратын қызметі ...........................................................14
2.1 Класс мүшесінің атын көрсету.......................................................................16

Қорытынды .......................................................................................................... 19
Қолданылған әдебиеттер .................................................................................... 21

Файлы: 1 файл

c__kursovaya.docx

— 42.38 Кб (Скачать файл)

        

 

 

Мазмұны.

Кіріспе ..................................................................................................................... 3

 

1 Класты сипаттау ................................................................................................  6

    1. Класс өрістері мен әдістері ...........................................................................  8
    2. Класс мүшелері .............................................................................................. 13

 

2 Класс мүшелерінің атқаратын қызметі ...........................................................14

2.1 Класс мүшесінің атын көрсету.......................................................................16

 

Қорытынды .......................................................................................................... 19

Қолданылған әдебиеттер .................................................................................... 21 
                                    Кіріспе.

                Си++ Си тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. Си++ тiлi Си тiлiнiң бiрқатар қасиеттерiн  реттеудi қамтамасыз етедi және ең  маңыздысы объектi-бағдарланған  бағдарламалық мүмкiндiгiн қамтамасыз  етедi. Бұл бағдарламамен қамтамасыздандыру  әлемiндегi революциялық идея болып  табылады.

               Басқада бағдарламалық тiлдер  көптеген қажеттi эффект бере  алмағандықтан, Си++ алғашқыда ең  жоғарғы деңгейдегi нақтылы оқиғалар  үлгiлерiн өңдеу мақсаты үшiн  құрылған тiл болды. Си++ тiлiн құруда  Си тiлiнiң сәйкестiгiн сақтап  қалуға ерекше көңiл бөлiндi. Си++ тiлiнiң көмегiмен кең көлемдi бағдарламалық  проектiлер құруға болады. Си++ тiлiнiң  арқасында берiлген мәлiметтер  типтерiне бақылауды күшейтуге  және көптеген қосымша эффектiлердi жеңе алатын болдық.

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

        Обьектілі-бағдарланған тіл жүйенің обьектілердің өз ішінде жұмыс істеу тетіктерінің көбісін жасырады.Обьектілі-бағдарланған ортадағы әрбір обьекті өздігінше сипаттамаларға ие, алайда қасиеттері бірдей және өздері ұқсас әрекеттер жасайтын обьектілер өзара бір топтарға немесе кластарға бірігеді. 

Си++ тілінде класс ұғымы оның басты ұғымы болып есептеледі.

         Жалпы класс деп,class, struct және union түйінді сөздерінің көмегімен анықталатын мәліметтердің кезкелген құрылымына жататын бағдарламалаушы анықтайтын типті айтады.  Класты анықтау арқылы Си++ тілінің мүмкіндігі кеңейетін болады.Класс анықталған бойда осы кластың әрқайсысының класының ішінде анықталған мүшелері бар обьектілерін құруға болады.

        Кластың бір мысалы – экрандағы графикалық нүкте. Оның мәлімет-мүшелеріне нүктенің координаттары мен түсі жатады. Оның функция-мүшелері нүктені нақтылауға, оның түсін анықтауға және жаңа түсті беруге мүмкіндік жасайды.   

Жалпы, жобалаудағы обьектілі-бағдарлау тәсілі ұстанымын кәдімгі бағдарламалау тілінде де, мыс, Си тілінде қолдануға болады. Алайда оны обьектілі-бағдарланған Си++ тілінде пайдалану жұмысты әлдеқайда жеңілдетуге мүмкіндік береді. 

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

         Класс қолданушы анықтайтын  мәліметтердің абстарктілі типі болып табылады,ол мәліметтер және олармен жұмыс істеуге арналған функциялар түрінде берілген шынайы обьектінің үлгісін бейнелейді және берілгендер мен оларға қолданылатын әрекеттерден тұрады. Инкапсуляция, қабылдаушылық және полиморфизм принциптеріне сәйкес анықталатын  объектілерді программада сипаттау және қолдану үшін    класс деп аталатын жаңа құрылымдық тип қарастырылады. Кез-келген объект белгілі бір кластың өкілі, бір данасы немесе айнымалысы  болып есептеледі. Кластың құрамына  өрістер, әдістер және қасиеттер кіреді.Тума кластар өздерінде  түпкі кластың барлық өрістерін сақтап калады және оны өзгерте алмайды, алып тастауға да болмайды, тек жаңа әрістермен толықтыруға болады.  Класс біртипті объектілерге арналған шаблон және объектілі айнымалылар типтері мен әдістерін анықтайтын информациялардан тұрады.Программаның құрамындағы көптеген элементтер (мысалы, терезелер, мәзірлер, батырмалар және т.б.), программаға тұтастай қойылатын және программистің басқаруына ыңғайланған белгілі бір объектілер ретінде қарастырылады. Бұл объектілердің инкапсуляция, қабылдаушылық және полиморфизм принциптеріне негізделген ерекше қасиеттері, әдістері және әрекеттері болады. Объектіге бағдарланған программалаудың негізін құрайтын да осы   инкапсуляция, қабылдаушылық және полиморфизм принциптері.      

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

                                           Класты сипаттау.

           ОБП әдістемелігінде клас түсінігі  бір типті объектілер тобы  ретінде анықталады. Сонымен қатар  әрбір кластың өкілі объект  болып табылады.  Әрбір объект    оның осы мүшесінің ағымды мағынасын анықтайтын    өзінің ерекше жағдайлары бар.Кластардың функционалды белгісін я,  оның мүшесінің функцияларымен берілетін әрекеттеріненанықтайды.  Әр класта мәліметтерді сақтайтын    арнайы жадтар бөлінеді және әрбір облыстың осы типтегі мәліметтерде   мүмкін бола алатын операциялар қалыптастырады. Берілген кластың объектілерін құру  конструктор деп аталатын арнайы функция – мүше арқылы жүреді, ал жою-деструктор деп аталатын басқа функция-мүше арқылы.      Класс ішкі деректерді қол жетпес ете алады, яғни оларды ашылған, жабылған және қорғалған ретінде көрсетеді. Класс осы типтегі объекттердің басқа әлеммен қарым-қатынасы үшін    нақты анықталған интерфейс құрады.Объектілік-бағытталған жобалауда шешілетін есеп алгоритмдік модель түрінде емес,  сұраныстармен алмасатын әр түрлі кластардың объектілері түрінде көрсетіледі.

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

 

      class <класс аты>

{//кластың  жабылған фуекция-мүше және дерек -мүшесі

public:

//кластың  ашылған фуекция-мүше және дерек -мүшесі

 } 

       Кластың хабрландыруының ішінде көрсетілген функциялар мен айнымалылар осы кластың мүшесі бола бастайды. Класс мәліметтері өрістер, ал класс функциялары әдістер деп аталады.Өрістер мен әдістерді класс элементтері деп атайды.Кластың    хабарламасының ішінде көрсетілген айнымалылар осы кластың дерек-мүшесі деп аталады;  класс хабарламасының ішінде көрсетілген функциялар кластың функция-мүшесі деп аталады.  Класта хабарланған барлық   функциялар   мен айнымалылар    осы класс үшін жабық бола бастайды. Ендеше бұл олардың осы кластың тек басқа мүшелеріне ғана мүмкіндігі бар екенін білдіреді.Кластың ашық мүшелерін хабарлау  үшін артынан қос нүкте еретін public сөзінен кейінхабарланған барлық  функциялар мен айнымалылар кластың басқа мүшелері үшін  және программаның кез-келген басқа бөлігі үшін   мүмкіндік бар.  Сәйкес кластың объектісін құру үшін деректер типінің спецификаторы ретінде кластың атын қолдану керек. Мысалы:

AnyClass ob1, оb2;

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

                                            Класс өрістері мен әдістері.

        Класс өрістері:

~осы класс  типінен басқа кез келген типті  қабылдай алады( алайда осы класқа  нұсқауыш немесе сілтемелер болуы  да мүмкін).

~ const модификаторы  көмегімен сипатталуы мүмкін, мұндайда  олар тек бір рет қана инициалданады ( конструктор арқылы) және өзгеруі  мүмкін емес.

~static модификаторының  көмегімен сипатталуы мүмкін

Мысал ретінде компьютерлік ойын кейіпкерін модельдейтін класс құрайық.Бұл үшін оның қасиеттері мен тәртіптерін беруіміз керек.

Class monstr

{ int health , ammo;

Public:

Monstr ( in the=100, int am=10){helth =he;

Amo=am;}

Void draw (int x, int y,int scale,int position);

Int get_health() { return health;}

Int get_amo() {return amo;}

};

     Мұндай өрістерді әдістер арқылы пайдалану қолдан жасалған күрделілік болып көрінеді, алайда шынайы кластардың өрістері ретінде күрделі динамикалық құрылымдар алынуы мүмкін және олардың элементтерінің мәндеріне қол жеткізу оңай емес екенін ескеру  керек.Кластың барлық әдістері жасырын өрістерді тікелей пайдалана алады, басқаша айтқанда , класс функцияларының тұлғалары класс элементтерінің private көріну аймғына кіреді.  Өрісті жариялау кластың ішінде жүргізіледі, ал оны анықтау кластың сыртында орындалады.Статикалық өрістермен жұмыс істеу барысында компилятор тани алмайтын оңай қателіктер жіберуге болады. Егер стаикалық өріс класта жарияланып, бірақ анықталмаса компилятор ескерту хабарламасын бермейді. Байланыстырушы редакторы бұл қатені анықтағанша программа қатесіз деп есептелінеді. Байланыстырушы редактор «анықталмаған кең ауқымды айнымалыны қолдануға ұмтылу» деген хабарламаны шығарады.

       Класты құру кезінде класс әдісі құрылады және бір-ақ рет компьютер жадысына орналастырылады. Әрбір объектінің өз мәндер жинағы бодады, объектілер өрістері жалпы боламуы керек. Объектілерді құруда әрбір берілгендер жинағы жадыдан белгілі бір бос орын алады. 

Объект 1 Объект 2 Объект3

data1 data1 data1

data2 data2 data2

function1

function2

        Класс мәліметтері өрістер, ал  класс функциялары әдістер деп  аталады.Өрістер мен әдістерді  класс элементтері деп атайды.

Класс анықтамасы class қызметші сөзінен басталып, класс есімі жазылады. 
        Құрылым сияқты, класс денесі фигуралық жақшаға алынып, «нүктелі үтір» белгісімен аяқталады.ОБП –дың негізгі ерекшелігі берілгендерді жасыра алуы.Бұл терминнің мағынасы мынада: берілгендер класс ішінде орналасқан және кластан тыс орналасқан функциялардың санкциясыз қолданылуынан қорғалған.Егер кейбір берілгендерді қорғау керек болса, онда оларды private қызметші сөзі бар класс бөлігінде орналастыру керек.

        Мұндай берілгендер тек класс ішінде ғана қолданылады.Public қызметші сөзімен сипатталушы берілгендер кластан тыс та қолданылады.Кластың ішінде,қолданылады (жабық)Кластан тыс (ашық)қолданылады Класс құрамына кіретін функциялар класс әдістері болып табылады.Класс ішіндегі берілгендер мүшелер немесе класс өрістері деп аталады. Класс әдісінің әрбір шақырылуы осы кластың белгілі бір объектісімен байланысты (статикалық функцияны шақырудан басқа). Әдіс объектінің кез келген, ашық және жабық мүшелерін есімі арқылы тікелей ала алады. Сонымен қатар әдіс нүкте операциясы арқылы өз класының басқа объектілерінің мүшелерін де ала алады, олар әдіс аргументі ретінде қаралады.add_dist ( ) функциясы мәндерді қайтармайды. Кластың ішінде,қолданылады (жабық)Кластан тыс (ашық)қолданылады Класс құрамына кіретін функциялар класс әдістері болып табылады.Класс ішіндегі берілгендер мүшелер немесе класс өрістері деп аталады.Осыдан туынды класты анықтау қысқарады,  себебі оны туынды кластардан ерекшелейтін қылықтарынғана анықтау керек.

Мысалы:

// smallobj. сpp 
# include 
class smallobj 
{   private: 
int somedata; 
public: 
void setdata (int d) 
{somedata = d;} 
void showdata ( ) 
{ cout << “ өрістің мәні = “ << somedata << endl;} 
}; 
int main ( ) 
{ smallobj s1,s2; 
s1. setdata (1066); 
s2. setdata (1776); 
s1. showdata ( ); 
s2. showdata ( ); 
return 0;    } 
         setdata( ) и showdata( ) функциялары класс ішінде анықталған, яғни функция коды класс анықтамасында орналасқан. Осындай түрде анықталған класс әдісі кірістірілген анықтама болып табылады.main ( ) функциясында s1,s2 екі объектісі анықталған.Объектіні анықтау объектіні сақтауға қажетті жады бөлу болып табылады.Объект есімін класс әдісімен байланыстыру үшіннүкте (.) операциясын қолданады.Нүкте операциясы класс мүшесін алу операциясы деп аталады.

Информация о работе Класс мүшелерінің атқаратын қызметі