Главная / Информатика / Сабақтың тақырыбы:"Программалау туралы түсінік"

Сабақтың тақырыбы:"Программалау туралы түсінік"

§1 Кіріспе


Қазіргі уақытта программалуда 3 концепция белгіленген:

  • объектілі бағытталған программалау; (ОБП)

  • унификацияланған модельдеу тілі (UML)

  • программалық қамтамаларды құру арнайы жабдықтары.

Объектілі бағытталған программалау (ОБП) негізінде программа тізбектей орындалатын нұсқау ретінде емес, ұқсас қасиеттері және ұқсас орындайтын қызметтері бар объектілердің жиынтығы ретінде қарастырылады.

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

Қазіргі таңда Microsoft және Borland компаниялары құрған С++ тілінің Microsoft Windows жүйесінде программалау ортасы көп тараған.

Объектілі бағытталған программалау үш тұжырымға негізделген: кластар, мұрагерлік және полиморфизм.

Процедуралық тілдерде жазылған программалар негізінен инструкциялар жиынтығы болып табылады. Бұл тілдердегі программалар функциялардан тұрады, олар тізбектелген іс-әрекеттер тізімін орындайды.

Бірнеше функцияларды модульдерге біріктіруге болады, бірақ сонда да процедуралық принцип сақталады.

Процедуралық тілдерде екі түрлі берілгендер типтері бар: жергілікті (локальді) және кең ауқымды (глобальді). Жергілікті берілгендер тек функциялардың ішінде және тек сол функцияларда ғана қолданылады, ал барлық функцияларда қолдану керек болса кең ауқымды етіп жариялайды. Функциялар мен берілгендер арасындағы күрделі байланыстар программаның құрылымын да күрделендіреді. Кең ауқымды берілгендерді функциялар шектеусіз қолдана алады. Бұл процедуралық тілдердің ең бір үлкен кемшілігі. Екінші кемшілігі, ол берілгендер мен функциялардың жеке-жеке қолданылуы. Бұл жағдайда нақты өмірдегі объектілерді дәл сипаттай алмаймыз. Мысалы егер объект машина болса, онда оның қасиеттері (мінездемесі) – двигательдің күші, есіктер саны болады, ал іс-әрекеті ретінде мысалы, тормозды басуды жатқызуға болады. Яғни қасиеттерге программада берілгендерді, ал іс-әрекеттерге программада функцияларды сәйкестендіруге болады. Іс-әрекет дегеніміз, объектінің сырттан берілген әсерге жауабы.

ОБП-дың негізгі идеясы – ол берілгендермен осы берілгендерге қолданылатын іс-әрекеттердің объект деп аталатын бір бүтінге бірігуі.

Объектілердегі функциялар С++ тілінде әдістер деп аталады. Егер объектінің кейбір берілгендерін оқу керек болса, онда осы әрекетті орындау үшін қолданылатын әдісті шақыру керек. Бұл әдіс берілгенді оқиды да оның мәнін қайтарады. Оның мәнін тіке, әдісті қолданбай ала алмаймыз. Яғни берілгендер кездейсоқ сыртқы әсерден қорғалған. Берілгендер мен функциялар инкапсуляцияланған (біріктірілген) делінеді.

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

hello_html_18cb08af.gif

объект


объект объект










Өмірде объект ретінде компанияның бөлімдерін – бухгалтерия, сату бөлімі, кадр бөлімі т.б. алуға болады. Компанияның бөлімдерге бөлінуі оны құрылымдық ұйымдстырудың маңызды бөлігі болып табылады.

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

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

hello_html_62af96f2.gifСату бөлімі



Кадр бөлімі Финанс бөлімі










Корпоративтік қатынас


ОБП программаның орындалу процесімен байланысты емес. Ол тек программаның ұйымдастыруына ғана қатысты.

ОБП тілінің негізгі эементтері:

  • Объект

Объект прогаммада қандай турде болуы мүмкін?

    • Физикалық объектілер:

      • көше қозғалысын модельдеудегі автомобильдер

      • электр тогын модельдеудегі схема элементтері

      • экономика моделін құрудағы елдер

      • диспечерлік қызметін модельдеудегі ұщақтар

    • Интерфейс элементтері:

      • терезелер

      • меню

      • графиктік объектілер (сызықтар, тік төртбұрыш)

      • маус, клавиатура, дискілік құрылғылар, принтерлер

  • Берілгендер құрылымы:

    • массивтер

    • стектер

    • байланысқан тізімдер

    • екілік ағаштар

      • Адамдар тобы:

        • қызметкерлер

        • студенттер

        • сатып алушылар

        • сатушылар

          • Ақпараттар сақталуы

            • құрал-саймандар тізімі

            • қызметкерлер тізімі

            • сөздіктер

            • әлемдегі қалалардың географиялық координаттары

              • Берілгендердің қолданушылар типтері:

                • уақыт

                • бұрыштардың шамасы

                • комплексті сандар

                • жазықтықтағы нүктелер

                  • Компьютер ойындарына қатысушылар:

  • жарыстағы автомобильдер

  • шахмат, дойбыдағы позициялар

  • тірі табиғатпен байланысты ойындағы жануарлар

  • ойындағы достар мен дұшпандар.

    • Кластар.

Барлық тілдерде стандартты типтер бар, мысалы int.

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

Класқа тиісті объекті кластың экземпляры деп аталады.

  • Мұрагерлік.

Класс ұғымы мұрагерлік ұғымына алып келеді.

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

  • Полиморфизм және асыра жүктеу.

Операциялар мен функциялардың олардың қолданып тұрған шамалардың типтеріне байланысты әр түрлі қызметтерді атқаруы полиморфизм деп аталады. Егер, мысалы, +, = операцияларын басқа жаңа типті операндалармен жұмыс істеу мүмкіндіктерімен қматамасыз етсек, онда бұл операцияларды асыра жүктелген операциялар деп атайды.


§2 Объектілер және кластар


Айнымалы өз типіне қандай қатынаста болса, объект те өз класына сондай қатынаста.

Класс анықтамасы class қызметші сөзінен басталып, класс есімі жазылады.

Құрылым сияқты, класс денесі фигуралық жақшаға алынып, «нүктелі үтір» белгісімен аяқталады.

ОБП –дың негізгі ерекшелігі берілгендерді жасыра алуы.

Бұл терминнің мағынасы мынада: берілгендер класс ішінде орналасқан және кластан тыс орналасқан функциялардың санкциясыз қолданылуынан қорғалған. Егер кейбір берілгендерді қорғау керек болса, онда оларды private қызметші сөзі бар класс бөлігінде орналастыру керек. Мұндай берілгендер тек класс ішінде ғана қолданылады. Public қызметші сөзімен сипатталушы берілгендер кластан тыс та қолданылады.

hello_html_m38e42cce.gif


Кластың ішінде

қолданылады (жабық)






Кластан тыс (ашық)

қолданылады





Класс құрамына кіретін функциялар класс әдістері болып табылады.

Класс ішіндегі берілгендер мүшелер немесе класс өрістері деп аталады.

Келесі мысалды қарастырайық:

// 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 екі объектісі анықталған. Объектіні анықтау объектіні сақтауға қажетті жады бөлу болып табылады.

Объект есімін класс әдісімен байланыстыру үшін нүкте (.) операциясын қолданады.

Нүкте операциясы класс мүшесін алу операциясы деп аталады.

Кейбір объектілі бағытталған программалау тілдерінде объект әдісін шақыруды хабарламалар деп атайды.

Мысалы:

// englobj.cpp

# include

class Distance

{ private:

int feet


Сабақтың тақырыбы:"Программалау туралы түсінік"
  • Информатика
Описание:

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

Қазіргі таңда Microsoft және Borland компаниялары құрған С++ тілінің Microsoft Windows жүйесінде программалау ортасы көп тараған.

Объектілі бағытталған программалау үш тұжырымға негізделген: кластар, мұрагерлік және полиморфизм
Автор Карагойшина Зауреш Мухангалиевна
Дата добавления 13.10.2015
Раздел Информатика
Подраздел Конспекты
Просмотров 540
Номер материала MA-061239
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓