
- •Программалауда қазіргі қолданылып жүрген технологиялар. Объектіге бағдарланған программалаудың негізгі қағидалары
- •Әдістемелік нұсқаулар
- •Void assign(double Len, double Wide); // // функция -элемент
- •Өзіндік жұмыс тапсымалары
- •Негізгі визуалдық компоненттер. Vcl кітапханасының компоненттері. Қасиеттері, әдістері және оқиғалары
- •OnClick оқиғасын шақыру.
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары
- •Қосымша құруда тізімдерді пайдалану
- •Өзіндік жұмыс тапсырмалары
- •Қосымшадағы ауыстырғыштардың қызметі
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары:
- •Қосымшадағы терезелердің және мәзірлердің жұмысын ұйымдастыру. Форма және мәзірлер
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсырмалары
- •Массивтермен жұмыс жасауға арналған компоненттер
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары
- •Ерекше жағдайларды өңдеу түсінігі. Ерекше жағдайлар класы
- •Әдістемелік нұсқаулар
- •Өңдеуші қызметінің мысалы
- •Жаттығу жұмыстары
- •Wіndows интерфейсінің компоненттерін қолданып файлдарды басқару
- •Әдістемелік нұсқаулар
- •Өзіндік жұмыс тапсымалары
- •Әдістемелік нұсқаулар
- •IndexName – кестеге екінші индексті белгілейді. Бұл қасиетті кесте ашық болғанда өзгертуге болмайды.
- •Insert, Edit, Delete, Append – жазба қосу үшін кестелерді жазу, өңдеу, алып тастау, жазбаларды қосу режимдерiне ауыстырады
- •Жаттығу жұмыстары
- •Өзіндік жұмысқа тапсырмалар
- •Әдістемелік нұсқаулар
- •Терезесі және Add Table диалогтық панелі пайда болады.
- •Таңдаған кесте пайда болады
- •Компоненттерді орналастыру
- •DataModule-ге орналастыру
- •QReport парағын пайдаланып есеп беруді ұйымдастыру
- •Жаттығу жұмыстары
- •Қосымшаның анықтамалық жүйесін құру
- •Жаттығу жұмыстары
- •Өзіндік жұмыстарға тапсырмалары
- •Қосымшаны таратуға даярлау. Дистрибутивтер. Орнатушы инсталляциялық пакетті Install Shield Express утилитасы арқылы жасау
- •Әдістемелік нұсқаулар
- •Мәндерін және кілттерді анықтау
IV Зертханалық және өзіндік жұмыстарға арналған әдістемелік нұсқаулар
1 - зертханалық жұмыс.
Программалауда қазіргі қолданылып жүрген технологиялар. Объектіге бағдарланған программалаудың негізгі қағидалары
Әдістемелік нұсқаулар
Объектіге бағдарланған программалауды жүзеге асыратын программалау орталарына Visual Basic, C++ Builder және т.б. жатады. ОБП-дың мағынасы мынада: программаның құрамындағы көптеген элементтер (мысалы, терезелер, мәзірлер, батырмалар және т.б.), программаға тұтастай қойылатын және программистің басқаруына ыңғайланған белгілі бір объектілер ретінде қарастырылады. Бұл объектілердің инкапсуляция, қабылдаушылық және полиморфизм принциптеріне негізделген ерекше қасиеттері, әдістері және әрекеттері болады. Объектіге бағдарланған программалаудың негізін құрайтын да осы инкапсуляция, қабылдаушылық және полиморфизм принциптері.
Класс. Инкапсуляция, қабылдаушылық және полиморфизм принциптеріне сәйкес анықталатын объектілерді программада сипаттау және қолдану үшін класс деп аталатын жаңа құрылымдық тип қарастырылады. Кез-келген объект белгілі бір кластың өкілі, бір данасы немесе айнымалысы болып есептеледі. Кластың құрамына өрістер, әдістер және қасиеттер кіреді.
Тума кластар өздерінде түпкі кластың барлық өрістерін сақтап калады және оны өзгерте алмайды, алып тастауға да болмайды, тек жаңа өрістермен толықтыруға болады. Түпкі класстың программадағы сипатталуы немесе кластың жаңа данасын құру программа модулінде келесі түрде жазылады.:
class кластың аты
{
private:
< жабық элементтер немесе мәліметтер>
жабық конструкторлар>
< жабық функция-элементтер>
рrotected:
< қорғалған элементтер немесе мәліметтер>
< қорғалған конструкторлар>
< қорғалған функция-элементтер>
рublic:
< ашық элементтер немесе мәліметтер>
< ашық конструкторлар>
< ашық деструкторлар>
< ашық функция-элементтер>
};
Мысалы: rectangle деп аталатын класты анықтау
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() // функция -элемент
{return width;}
double Area() // // функция -элемент
{return length*width;}
Void assign(double Len, double Wide); // // функция -элемент
};
Мұндағы, private, protected, public бөлімдері класс құрамындағы элементтерді пайдаланудың ережелерін немесе приоритеттерін анықтайды. Ол бөлімдердің әрқайсысының қызметі бар.
Класстың функция-элементтері дегеніміз, бұл – бірнеше операторлардан тұратын, класстан тыс анықталатын функциялар. Бұл функциялар сол класс анықталған файлда болуы да мүмкін, бұл функция мен оның прототипінің берілуі сияқты болып келеді. Әдетте, функция-элементтер өз алдына бөлек *.h немесе *.сpp файлдарда жинақталады және оны анықтағанда әуелі оның класының атын жазып, сонан соң «::» /екі рет қос нүкте/ белгісін қойып, сонан соң барып функцияның аты жазылады, мысалы:
class rectangle // кластың аты
{
private:
... ... ...
public:
... ... ...
void assign(double Len, double Wide); // функция -элемент
}; // классты анықтау бітті
void rectangle :: assign(double Len, double Wide)
// функция-элементтің өзінің анықталуы
{ length=Len;
width=Wide;
}
Конструкторлар классқа жататын объектілерді дұрыс құру үшін қолданылады. Конструктордың анықталуы келесі түрде болады:
class rectangle // кластың аты
{
private:
... ... ...
public:
rectangle() // конструктор үнсіздік бойынша
{assign(0,0);}
rectangle (double Len, double Wide) //конструктор
{assign(Len,Wide);}
... ... ...
};
Конструктор үнсіздік бойынша болғанда оның параметрлері берілмейді немесе оның мәні нақты көрсетіліп беріледі, мысалы:
class rectangle // кластың аты
{
private:
... ... ...
public:
rectangle() // конструктор үнсіздік бойынша
{assign(0,0);}
rectangle (double Len, double Wide) //конструктор
{assign(Len,Wide);}
rectangle (double Len=10, double Wide=12) //конструктор үнсіздік мәні бойынша
... ... ...
};
Деструкторлар классқа жататын объектілерді автоматты түрде жою үшін қолданылады. Деструктордың анықталуы келесі түрде болады, мысалы:
class rectangle // кластың аты
{
private:
... ... ...
public:
rectangle(); // конструктор
... ... ...
~rectangle (); //деструктор
... ... ...
};
Жаттығу жұмыстары
Төртбұрыштың берілген ұзындығы мен енін және ауданын баспаға шығара алатындай мүмкіндіктер қарастырылған rectangle класын анықтаңыз және сол класқа жататын rect объектісіне сол класта қарастырылған мүмкіндіктерді қолданатын программа жазыңыз:
#include <iostream.h>
#include <conio.h>
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()
{return width;}
double Area()
{return length*width;}
void assign(double Len, double Wide);
}; // классты анықтаудың соңы
void rectangle :: assign(double Len, double Wide)
{ length=Len;
width=Wide;
}
int main()
{
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 жапсырмасындағы оқиғаның атына сәйкес жолға екі рет шерту арқылы қояды.