Зертханалық жұмыс. Программалауда қазіргі қолданылып жүрген технологиялар

Зертханалық жұмыс.

Программалауда қазіргі қолданылып жүрген технологиялар. Объектіге бағдарланған программалаудың негізгі қағидалары

Әдістемелік нұсқаулар


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

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

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

classкластың аты

{

private:

< жабық элементтер немесе мәліметтер>

жабық конструкторлар>

< жабық функция-элементтер>

рrotected:

< қорғалған элементтер немесе мәліметтер>

< қорғалған конструкторлар>

< қорғалған функция-элементтер>

рublic:

< ашық элементтер немесе мәліметтер>

< ашық конструкторлар>

< ашық деструкторлар>

< ашық функция-элементтер>

};

Мысалы:rectangle деп аталатын класты анықтау

classrectangle // кластың аты

{

private:

double length; // ұзындығы жабық элемент

double width; // ені жабық элемент

public:

rectangle() // конструктор үнсіздік бойынша

{assign(0,0);}

rectangle (doubleLen, double Wide) //конструктор

{assign(Len,Wide);}

double Length() // функция -элемент

{return length;}

double Width() // функция -элемент

{return width;}

double Area() // // функция -элемент

{return length*width;}

void assign(doubleLen, double Wide); // // функция -элемент

};

Мұндағы, private, protected, publicбөлімдері класс құрамындағы элементтерді пайдаланудың ережелерін немесе приоритеттерін анықтайды. Ол бөлімдердің әрқайсысының қызметі бар.

Класстың функция-элементтерідегеніміз, бұл – бірнеше операторлардан тұратын, класстан тыс анықталатын функциялар. Бұл функциялар сол класс анықталған файлда болуы да мүмкін, бұл функция мен оның прототипінің берілуі сияқты болып келеді. Әдетте, функция-элементтерөз алдына бөлек *.h немесе *.сpp файлдарда жинақталады және оны анықтағанда әуелі оның класының атын жазып, сонан соң «::» /екі рет қос нүкте/ белгісін қойып, сонан соң барып функцияның аты жазылады, мысалы:

classrectangle // кластың аты

{

private:

... ... ...

public:

... ... ...

void assign(doubleLen, double Wide); // функция -элемент

}; // классты анықтау бітті

voidrectangle :: assign(double Len, double Wide)

// функция-элементтің өзінің анықталуы

{ length=Len;

width=Wide;

}

Конструкторлар классқа жататын объектілерді дұрыс құру үшін қолданылады.Конструктордыңанықталуы келесі түрде болады:

classrectangle // кластың аты

{

private:

... ... ...

public:

rectangle() // конструктор үнсіздік бойынша

{assign(0,0);}

rectangle (doubleLen, double Wide) //конструктор

{assign(Len,Wide);}

... ... ...

};

Конструктор үнсіздік бойынша болғанда оның параметрлері берілмейді немесе оның мәні нақты көрсетіліп беріледі, мысалы:

classrectangle // кластың аты

{

private:

... ... ...

public:

rectangle() // конструктор үнсіздік бойынша

{assign(0,0);}

rectangle (doubleLen, double Wide) //конструктор

{assign(Len,Wide);}

rectangle (doubleLen=10, double Wide=12) //конструктор үнсіздік мәні бойынша

... ... ...

};

Деструкторларклассқа жататын объектілерді автоматты түрде жою үшін қолданылады.Деструктордың анықталуы келесі түрде болады, мысалы:

class rectangle // кластың аты

{

private:

... ... ...

public:

rectangle(); // конструктор

... ... ...

~rectangle (); //деструктор

... ... ...

};


Жаттығу жұмыстары


Төртбұрыштың берілген ұзындығы мен енін және ауданын баспаға шығара алатындай мүмкіндіктер қарастырылған rectangleкласын анықтаңыз және сол класқа жататын rectобъектісіне сол класта қарастырылған мүмкіндіктерді қолданатын программа жазыңыз:

#include

#include

class rectangle // классты анықтаудың басталуы

{

private:

double length;

double width;

public:

rectangle()

{assign(0,0);}

rectangle (double Len, double Wide)

{assign(Len,Wide);}

double Length()

{return length;}

double Width()

{returnwidth;}

double Area()

{return length*width;}

void assign(double Len, double Wide);

}; // классты анықтаудың соңы

void rectangle :: assign(double Len, double Wide)

{ length=Len;

width=Wide;

}

intmain()

{

rectangle rect; // rectangle класына жататын rect объектісін анықтау

double uzin, eni;

cout<<"uzindigi men enin beriniz-";

cin>>uzin>>eni;

rect.assign(uzin,eni);

cout<<"\n"<<"Tortbyrishtin uzindigi - "<<rect.length();

cout<<"\n"<<"Tortbyrishtin eni - "<<rect.width();

cout<<"\n"<<"Tortbyrishtin audani - "<<rect.area();

getch();

//return 0;

}

Программаның нәтижесі:

uzindigi men enin beriniz-10 12

Tortbyrishtin uzindigi - 10

Tortbyrishtin eni - 12

Tortbyrishtin audani - 120

Әдістер.Кластың немесе объектінің әдістерін осы класқа енетін, процедуралар мен функциялар құрайды. Олар кәдімгі процедуралар мен функциялар сияқты жазылады. Кластың әдістерінің немесе процедура мен функциялардың тақырыбы /мысалы, procedure Button1Click (Sender: TObject);/ программа модулінің interfase - секциясындағы класты сипаттау бөлімінде жазылады да, ал денесі әдістің қайсы класқа тиесілі екендігін көрсететін құрама атпен /мысалы, TForm1.Button1Click(Sender: TObject);/ implementation –секцияда жазылады.

С++ -те кез-келген класс үшін анықталған, кластың жаңа данасын құратын конструктор және құрылған дананы жоятын деструктор деп аталатын екі әдіс қарастырылған. TОbject класы және одан тарайтын тума кластардың басым бөлігі үшін бұл әдістер сәйкесінше Createжәне Destroyдеп аталады.

Қасиеттер.Кластың қасиеттері немесе сол класқа жататын объектінің қасиеттері - бұл өрістерді пайдалануға арналған арнайы механизм. Класты сипаттауда қасиеттерді жазу үшін property, read, write қызметші сөздері қолданылады. Программа модулінде қасиеттердің мәнін көрсету келесі түрде жазылады:

кластың_аты->қасиеті:= мәні;

Оқиғалар.Процедура болғандықтан бұл программалық кодтарды «әдіс» деп қарастырады да, «оқиға»- қабылдайтын мәндері осы процедуралық типтер болатын «қасиет» болады. Оқиға болған кезде, шақырылатын процедураны немесе әдісті оқиға өңдеуші / Event Handler- обработчик событий/ деп атайды, С++Builder- де әрбір кластың өзіне тән оқиғаларына сәйкес, программа модуліне, визуальдық компоненттің белгісіне екі рет шерту арқылы, автоматты түрде қойылатын стандарт оқиға өңдеушілеріболады,

Стандарт оқиғалардан басқа, кез-келген оқиғаларды өңдеушілердің шаблон процедураларын Object Inspector терезесінің Events жапсырмасындағы оқиғаның атына сәйкес жолға екі рет шерту арқылы қояды.


Өзіндік жұмыс тапсымалары


Есепті әуелі құрылымды /struct/ пайдаланып, сонан соң class – ты пайдаланып орындаңыз:


  1. “Өте жақсы“, “өте жақсы және жақсы“, “жақсы және қанағаттанарлық“, ”тек қанағаттанарлық“ бағалармен оқитын студенттердің тізімін құру программасын жазу.

  2. Фамилиялары бірдей студенттер оқитын топты анықтау программасын жазу.

  3. Фамилиясы “A”-дан басталатын қызметкерлер тізімін және олардың орташа еңбекақысын көрсететін программа жазу.

  4. Аяқ киім дүкенінің ассортименті жазба түрінде берілген, ен қымбат әйел адамынын аяқ киімін және ер адамдар аяқ киімін, олардың құнымен көрсететін программаны жазу.

  5. “Телефондық анықтаманы моделдейтін“ программаны құру, әйел адамдардың телефон нөмерін және мекен жайын шығару.

  6. Автомашинаны жөндеу шеберханасында машина жөніндегі мәліметтер жазба түрінде берілген, қызыл түсті машиналардың маркасын және нөмерін аңықтайын программаны жазу.

  7. Мекеменің қызметтері туралы мәліметтер жазба түрінде берілген. Ер адамдардың мамандығы мен жасып көрсетіп, экранға тізім шығарыңыз.

  8. Кітаптардың аты, авторы, шыққан жылы, бағасы және тиражы анықталған каталог құрыңыз. Экранға алфавитімен тиражы бойынша сұрыпталған кітаптар тізімін шығарыңыз.

  9. Теміржол кассісіндегі төмендегідей мәліметтер белгілі. Поездың нөмері,баратын жері,билеттің бар жоғы анықтау. Бос билеттердегі саны 125-ке тең поездардың нөмерін, баратын жерін экранға шығарыңыз.

  10. Өзініз оқитын топтың тізімін алфавитімен студенттердің туған жылы бойынша реттеу программасын жазыңыз, нәтижесін экранға шығарыныз.


2 - зертханалық жұмыс.

С++ Buildеr 6 ортасының құрылымы. С++ Buildеr 6 ортасында қосымша құру. Жоба, форма, модуль, ресурс файлдары


Әдістемелік нұсқаулар


С++Builder программмалау ортасы іске қосылғаннан кейінгі терезелердің орналасуы келесі түрде болады /4.1-сурет/:


  • Негізгі терезе (С++Builder Project1);

  • Объектілер инспекторының терезесі ( Object Inspector);

  • Форма редакторының терезесі (Form1);

  • Код жазы;

  • Латын редактордың терезесі (Unit1).


Ескерту. Кеңеймелері : *.cpp, *.h, *.dfm, *.bpr, *.res. болатын файлдар маңызды болып есептеледі, себебі олар барлық жобаға қатысады.


Жаттығу жұмыстары


Жобамен жұмыс жасау:


  • Жоба құру үшін негізгі терезеде Fileà New à Application командалары орындалады.

  • Жаңа құрылған жобаны толығымен сақтау үшін Filеà Save All командасы орындалады. Жоба құрамына кіретін файлдардың жиынтығы бір бумада сақталуы қажет.

4.1- сурет. С++Builder программмалау ортасының негізгі терезесі


  • Жобаны орындау бірнеше тәсілдермен жүргізіледі.

  • Жобаны жабу үшінFilеà Close Allкомандалары орындалады.

  • Бұрыннан бар жобаны ашу үшін Filеà Openкомандасы орындалады да, пайда болған диалогтық терезеде жоба файлының (* .bpr) аты көрсетіледі.

  • Жоба файлының (*.bpr- файл) мәтінін қарау үшін бас мәзірден Projectà View Source (Проект->Просмотр) командасы орындалады;

  • Жоба файлының терезесін жабу үшін терезе контекстік мәзірінен Close Page командасы орындалады;

  • Жоба файлын С++Builder ортасы автоматты түрде өзі құрады;

  • Жоба файлы С++Builderортасының жобалар тобына (группа проектов, ProjectGroup1) кіреді. Жоба тобы - бұл өзі қамтитын бір немесе бірнеше жобалар туралы ақпараттар, сипаттаулар сақталатын *.bpgкеңеймелі файл.

  • Project Manager программасы жоба тобымен жұмыс жасауда қолданылады.

  • Жоба параметрлерін беру үшін ProjectàOptions командасы орындалады.

Өзіндік жұмыс тапсымалары


  1. Жай жоба құрыңыз, оны өз бумаңызда сақтаңыз.

  2. Өз жобаңыздың құрамына кіретін файлдарды, олардың атын, қызметін көрсететін кесте жасаңыз.

  3. С++Builder ортасының негізгі терезесіндегі (С++Builder Project1) бас мәзірдің опцияларындағы жиі қолданылатын командаларын және олардың қызметін жазып алыңыз.

зертханалық жұмыс.

Наши рекомендации