Автор работы: Пользователь скрыл имя, 08 Декабря 2014 в 09:08, курсовая работа
Си++ тілі обьектілі-бағдарланған бағдарламалау тілі болып табылады. Бағдарламалық обьектілерді пайдалану идеясы әр түрлі зерттеушілердің тарапынан көптеген жылдар бойы дамытылып келеді.Сондай типтегі алғашқы тілдердің бірі Симула-67 болып табылады. 1972 жылы Алан Кей жасаған Смолток (Smalltalk) тілінде де обьектілі-бағдарланған бағдарламалау өз статусын бекітті.
Кіріспе ..................................................................................................................... 3
1 Класты сипаттау ................................................................................................ 6
Класс өрістері мен әдістері ........................................................................... 8
Класс мүшелері .............................................................................................. 13
2 Класс мүшелерінің атқаратын қызметі ...........................................................14
2.1 Класс мүшесінің атын көрсету.......................................................................16
Қорытынды .......................................................................................................... 19
Қолданылған әдебиеттер .................................................................................... 21
Мазмұны.
Кіріспе ..............................
1 Класты сипаттау ..............................
2 Класс мүшелерінің атқаратын қызметі
..............................
2.1 Класс мүшесінің атын көрсету.......................
Қорытынды ..............................
Қолданылған
әдебиеттер ..............................
Си++ Си тiлiнiң кеңейтiлген түрi.
Оны 1980 жылдың басында Бъерн
Басқада бағдарламалық т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 екі объектісі
анықталған.Объектіні анықтау объектіні
сақтауға қажетті жады бөлу болып табылады.Объект
есімін класс әдісімен байланыстыру үшіннүкте
(.) операциясын қолданады.Нүкте операциясы
класс мүшесін алу операциясы деп аталады.