Главная страница

Java тілінде объектіге ба_ыттыл_ан программалау курсты_ Ж_мыс та. Java тілінде объектіге баыттылан программалау курсты Жмыс таырыбы уе компаниясы Курсты жмысты орындаандар


Скачать 0.49 Mb.
НазваниеJava тілінде объектіге баыттылан программалау курсты Жмыс таырыбы уе компаниясы Курсты жмысты орындаандар
Дата10.05.2022
Размер0.49 Mb.
Формат файлаdocx
Имя файлаJava тілінде объектіге ба_ыттыл_ан программалау курсты_ Ж_мыс та.docx
ТипПрограмма
#520256

Подборка по базе: Саба_ты_ та_ырыбы К_рделі шарттарды программалау О_у ба_дарламас, Заметки JAVA.docx, 13-14 сабак Стильдер кестелерінің тілінде селекторлар түрлері..d, “Ағылшын тілінде еркін сөйлеуге көмектесетін 50 фраза”.pdf, Работа с базой данных Java DB .pdf, АЖ-301 Аймантай Айтгүл сөж -6 Java тіліндегі графика..pptx, С++ тілінде қолданылатын командалар.docx, 11 практикалық жұмыс программалау.docx, Propedten test javabtarı .docx

Қазақстан Республикасының білім және ғылым министрлігі
Л.Н.Гумилев атындағы Еуразия Ұлттық университеті


Java тілінде объектіге бағыттылған программалау

КУРСТЫҚ ЖҰМЫС

Тақырыбы: «Әуе компаниясы»

Курстық жұмысты орындағандар: АҚЖ - 23 (4-топ)

Куаншалеев Сагынжан Куандыкович

Кушубек Эльдар Рашидұлы

Қасым Жеңіс Еленбайұлы

Қожабай Айсұлтан Рахатұлы

Курстық жұмыстың жетекшісі : Сауханова Жанат Сергазиевна

Есептемені өткізу күні: 03.12.2021 ж.

Баяндама жасалатын күн: 09.12.2021 ж.

Нұр-Сұлтан, 2021

Мазмұны

1.Кіріспе.........................................................................................................2

Java-программалау тілі...........................................................................3

2.Әуе компаниясы жобасы........................................................................ 6

Жобаның құрылысы................................................................................6

3.Қорытынды...............................................................................................10

4.Қолданылған әдебиеттер тізімі..............................................................11

Кіріспе

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

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

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

Функция: бағдарламалау тілі белгілі бір есептеу процесін орындау және жеке құрылғыларды басқаруды ұйымдастыру бойынша нұсқауларды компьютерге беру үшін қолданылатын компьютерлік бағдарламаларды жазуға арналған.

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

Орындау: бағдарламалау тілі деректер құрылымын анықтау және басқару және есептеу процесін басқару үшін арнайы дизайнды қолдана алады.
Java — Sun Microsystems компаниясының жасап шығарған объектіге-бағытталған бағдарламалау тілі. Java қосымшалары әдетте арнайы байт-кодта компиляцияланады, сол себепті олар кез келген виртуалды Java-машинасында (JVM) компьютерлік архитектурасына тәуесіз орындалады. Ресми шығу күні — 23 мамыр 1995 жыл. Әзірлеуді Java қауымдастық процесі арқылы ұйымдастырылған қауымдастық жүргізеді, тілі және оны жүзеге асыратын негізгі технологиялар GPL лицензиясы бойынша таратылады. Сауда белгісіне құқықтар Oracle корпорациясына тиесілі.

Java-ның бағдарламалау тілі ретіндегі артықшылықтары

Нысанға бағытталған: Java-да бәрі объект болып табылады. Плагинді оңай кеңейтуге болады, себебі ол нысан моделіне негізделген.

Тәуелсіз платформа: көптеген басқа тілдерден, оның ішінде C және C ++ тілдерінен айырмашылығы, Java ол құрылған кезде белгілі бір машинаның платформасында емес, платформадан тәуелсіз байт-кодта жинақталған. Бұл байт-код интернетте таратылады және ол қазір жұмыс істеп тұрған Java виртуалды машинасы (JVM) арқылы түсіндіріледі.

Қарапайым: Оқу процесі және Java бағдарламалау тілімен таныстыру қарапайым болып қалады. Егер сіз объектіге бағытталған бағдарламалаудың негізгі ұғымдарын түсінсеңіз, онда сізге үйрену оңай болады.

Қауіпсіз: Аутентификация әдістері ашық кілтті шифрлауға негізделген.

Архитектурасы бейтарап: компилятор архитектураға бейім файл форматы нысандарын жасайды, бұл компиляцияланған кодты көптеген процессорларда, Java Runtime уақытында орындалатын етіп жасайды.

Портативті: архитектураға бейтарап және орындалуға тәуелді емес, спецификация аспектілері, олардың барлығы Java-ны портативті етеді. Java-дағы компилятор ANSI C-де POSIX ішкі жиыны болып табылатын таза тасымалданумен жазылған.

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

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

Интерпретацияланған: Java байт коды тез арада машиналық нұсқаулыққа аударылады және еш жерде сақталмайды. Процесті жылдамырақ және талдамалы етіп жасау, өйткені байланыстыру процеске салмағы аз қосымша ретінде жүреді.

Жоғары өнімділік: Just-In-Time компиляторын енгізу жоғары өнімділікке мүмкіндік берді.

Таратылған: Интернет желісіне арналған.

Динамикалық: Java бағдарламалауы C немесе C ++ қарағанда динамикалық болып саналады, өйткені ол өзгеріп отыратын жағдайларға бейімделуге арналған. Бағдарламалар жұмыс уақытында объектілерге қол жеткізуді растау және авторизациялау үшін пайдаланылатын көптеген ақпаратты орындай алады.

Объектіге бағытталған программалау Объектіге бағытталған программалау - бұл кластары мұрагерлер иерархиясын құратын және әрқайсысы осы кластардың экземплярлары болып табылатын объектілер жиынтығына негізделген программалауметодологиясы.

Объектіге бағытталған программалау 4 принципке негізделген:

Инкапсуляция;

Инкапсуляция басқа нысандардан келетін сыртқы, бақыланбайтын өзгерістерден деректерді қорғау үшін нысанның ішіндегі өрістерді жасыруды білдіреді. Деректерге (өрістерге) қолжетімділік жалпыға ортақ әдістер (қабылдағыштар / орнатушылар) арқылы қамтамасыз етіледі. Бұл қорғаныс тосқауылы ақпаратты мекеме ішінде қауіпсіз сақтауға мүмкіндік береді.

Мұрагерлік;

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

Полиморфизм;

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

Абстракция;

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

Сериализация

Серияландыру (Серияландыру) — бұл объектіні байттар тізбегіне айналдыратын процесс, содан кейін оны толығымен қалпына келтіруге болады. Бұл не үшін қажет? Бағдарламаның әдеттегі орындалуымен кез — келген объектінің максималды өмір сүру мерзімі белгілі-бағдарламаны іске қосудан бастап оның соңына дейін. Сериялау осы шеңберді кеңейтуге және бағдарламаны іске қосу арасында объектіге" өмір беруге " мүмкіндік береді.

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

Сериялау механизмін жүзеге асыру өте қарапайым. Классқа Serializable интерфейсін енгізу қажет. Бұл интерфейс идентификаторы, оның әдістері жоқ, бірақ ол jvm-ге осы сыныптың нысандарын сериялауға болатындығын көрсетеді. Әлеуметтену механизмі негізгі Енгізу/шығару жүйесімен байланысты және объектіні байт ағынына айналдыратындықтан, оны орындау үшін OutputStream Шығыс ағынын жасау керек, оны ObjectOutputStream-қа орап, writeObject () әдісін шақыру керек. Нысанды қалпына келтіру үшін InputStream-ды ObjectInputStream-ға жинап, readObject () әдісін шақыру керек.

Курстық жоба мақсаты

  • Объектіге бағытталған программаға есеп шығару арқылы практикалық қабілеттілікті жетілдіру;

  • Объектіге бағытталған программаны құру, оны сипаттау , негіздеу және енгізу;

  • Пәндік сала бойынша жан-жақты зерттеу жұмысын жүргізу;

  • Объектіге бағытталған программалаудың мүмкіншіліктерін қолдану;

Курстық жұмысты орындау барысында қойылатын негізгі талаптар

  • Объектіге бағытталған программалаудың принциптері мен мүмкіндіктерін пайдалану: класстар, мұрагерлік, инкапсуляция, полиморфизм;

  • Тапсырмаға сәйкес келетін және есімі нақты класс құру;

  • Деректерді өндеуде коллекцияларды қолданып шығару;

  • Кодтау барысынды java code convention және кодты құжаттау (javadoc) талаптарын орындау;

  • Класстарды тиісті пакеттерге орналастыру;

  • Минимальді консольді мәзір ұсыну;

  • Курс бойынша оқылған талаптарды (статикалық өрәстер және әдістер, саналмалы тип, абстракты, ішкі класстар , анонимді класстар, логиалық блоктар, интерфейстер, ерекше жобалар) курстық жобада қамту;

Курстық жобада қарастырылған тақырып

Əуе компаниясы. Ұшақ иерархиясын анықтаңыз. Əуе компаниясын жасаңыз. Жалпы сыйымдылық пен жүк салмағын есептеңіз. Компанияның ұшақтарын ұшу қашықтығы бойынша сұрыптаңыз. Компанияда көрсетілген параметрлер диапазонына сəйкес келетін ұшақты табыңыз.

Жобаның құрылысы

Жобаны жүзеге асыру үшін оны 4 түрлі класстан құрастырдық. Олар:Aircrafts, Database, Flights және Main класстары. Әр класқа бөлек тоқтала кетсек.

Aircrafts:бұл класс ұшақтың параметрлерін анықтау үшін қолданылады. Әр ұшақ бөлек объект ретінде құрылып, сипаттамасы класстың параметрелі арқылы толтырылады.

Database:бұл класс қолданушы енгізген ақпаратты сақтау үшін қолданылады. Ақпарат ArrayList түрінде сақталады және файлға жазылады.

Arraylist-ті не үшін пайдаландық?

Орындау кезінде элементтердің кез келген санын қабылдай алатын және бере алатын осындай мобильді массивтер java. util. пакетінде болады. Осы кластардың бірі – ArrayList. Бұл класс тізімдегі қарапайым динамикалық класс. Оның кез келген элементтерді қосу (add) және жою (remove) әдістері бар. ArrayList класы нысан базалық класында негізделген. Оның көмегімен кез келген мәндер мен объектілерді (немесе сілтемелерді) сақтауға болады.

Flights:бұл класс air интерфейсін кеңейтетін класс болып келеді. Класс 5 параметрден тұрады және құрылған объектілер flights.txt файлында сақталады.

Main:бұл класс ішінде қолданушы консольден көретін интерфейс жүзеге асады. Қысқаша айтқанда жобаны іске қосатын класс.

Қатынас модификаторлары

Барлық Java класының мүшелері — өрістер мен әдістер — қатынас модификаторларына ие. Қатынас модификаторлары класс мүшелері үшін жарамды аумақты, яғни берілген айнымалы немесе әдісті қолдануға болатын контекст орнатуға мүмкіндік береді.

Java келесі рұқсат модификаторларын пайдаланады:

  • public: қоғамдық, қоғамдық сынып немесе кластың мүшесі. Жалпы модификатормен жарияланған өрістер мен әдістер ағымдағы бумадан және сыртқы бумалардан басқа класстарға көрінеді.

  • private: жалпы модификаторға қарсы жеке класс немесе класс мүшесі. Жеке классқа немесе класстың мүшесіне тек бір класстағы код арқылы қол жеткізуге болады.

  • protected: мұндай класс немесе класс мүшесі ағымдағы сыныптың немесе буманың кез келген жерінен немесе туынды класстарда, тіпті олар басқа пакеттерде болса да қолжетімді

  • Әдепкі модификатор. Өріс немесе класс әдісі үшін модификатордың болмауы оған қолданылатын әдепкі модификаторды білдіреді. Мұндай өрістер немесе әдістер ағымдағы бумадағы барлық класстарға көрінеді.

Ақпаратты файлға сақтау қалай жүзеге асады?

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

toString() әдісі

Көбінесе объектінің сипатын анықтау қажет. Бұл әрекетті орындау үшін Java Object класы нысанды сипаттайтын таңбалар жолын қайтаратын арнайы toString () әдісін анықтайды. Жаңа класс жасаған кезде, қайтарылған жолда сыныптың атын, барлық айнымалылардың атаулары мен мәндерін қамтитындай етіп toString () қайта анықтау қабылданады.

Бұл әдісті қолданбай, яғни әр параметрге тікелей сілтеме жасамай тек объектіге сілтеме жасайтын әдіс қолдансақ компилятор қате шығармайды, бірақ объектінің сипаттамасы консольде хэш түрінде шығады.

Мысалы біздің кодтан toString() әдісін алып тастасақ консольге шығатын ақпарат түрі мынадай болады:



Консольде көріп тұрғанымыздай объект сипаттамасы осы түрде беріліп тұр:

[Aircrafts@5e9f23b4, Aircrafts@4783da3f, Aircrafts@378fd1ac]

toString() әдісін қолдану арқылы бұл багты дұрыстауға болады.



Консольде объектінің сипаттамасы мына түрде беріліп тұр:

[Aircrafts{model='Beoing', capacity='50', business_, econom_, weight='5'}, Aircrafts{model='AirBus', capacity='60', business_, econom_, weight='8'}, Aircrafts{model='Beoing77', capacity='63', business_, econom_, weight='6'}]

Геттер және Сеттерлер

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

Жоба барысындағы қателіктер


Қателіктер

Сипаты

Шешімі

Логикалық

Логикалық қате болған жағдайда компилятор математикалық есептеуді бізге керек жауап шықпауы мүмкін. Ол дегеніміз математикалық есептеуді жүзеге асыру кезінде алгоритмнен қате деген сөз.

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

Синтаксистік

Синтаксистік қате ең жиі кездесетін және оңай түзетілетін қате. Мысалы: айнымалының типін int деп алып консольде оған float типті элемент енгізсек ол синтаксистік қате болып саналады. Кез келген программалау тілінде әр символ үлкен роль атқарады, сондықтан олардың жазылмай қалуы немесе өз орнында тұрмауы да қате болып саналады.

Синтаксистік қатені түзету оңай. Компилятор қай қатарда қате кеткенін көрсетеді және сол арқылы қатені түзетеміз.

Символдан кеткен қатені түзетуде оңай болып келеді, өйткені компилятор қай қатарда қандай символ қалып кеткенін көрсетеді

Компилятордың қателігі

Жұмыс барысында жазылған кодта қате болмағанымен компилация дан кейін қателік шығуы мүмкін. 

Компиляторды тексеріп, қайта орнату қажет.


Жоба барысында қамтылған тақырыптар

  1. Java программалау тілі

  2. Объектіге бағытталған программалау

  3. Класстар

  4. Мұрагер класстар

  5. Интерфейс

  6. Полиморфизм

  7. Инкапсуляция

  8. Тізімдермен жұмыс

  9. Файлмен жұмыс

  10. Ақпаратты сақтау

  11. Класс параметрлері

  12. Объектілер

  13. Get, set

  14. Функциялар

  15. Сериализация

  16. Дайын әдістермен жұмыс

  17. Программалау парадигмалары


Қорытынды

Жобаның басты мақсаты ол – Java программалау тілінде объектіге бағытталған программалауды іске асыру. Тақырыпқа байланысты жобаны жасау барысында ОБП-ның көптеген артықшылықтарын байқадық. Мысалға айта кетсек ақпаратты сақтауда көптеген массив аша бермей барлық ақпаратты бір файл ішінде жинақтауға болатындығын, Java-ның көптеген дайын әдістерінің бар екенін білдік.

Жоба барысында нені үйрендік? Жоба барысында класстармен жұмыс, ақпаратты сақтау, тізім, әдістермен жұмысты үйрендік. Деректер құрылымы ішінде ArrayList құрылымымен танысып және оны практика жүзінде пайдаландық.Дайын әдістерді қайта анықтап оларды өз жобамызда пайдаландық. Сұрыптау үшін жаңадан алгоритмдер ойлап тауып оларды әдістерге айналдырып жұмыс жасадық.

Қорытындылай келе Java тілі өте тез жасайтын және мүмкіндігі көп программалау тілі екенін түсіндік. Болашақта бізге қажет болатын софт-скиллдарымызды дамыттық. Айта келе бір командада жұмысты қалай бөліп алуды бірге синхронды код жазуды үйрендік. Жобаны бөлшектеп жасағандық топтың әр мүшесі жобаның іске асуына үлкен үлес қосып, жобаны аз уақытта орындап шықтық.

Қолданылған әдебиеттер тізімі

  1. http://proglang.su/java/introduction-to-programmingZakhour, S: The Java Tutorial: A Short Course on the Basics, 4th Edition 2006.

  2. Синтес Антони. Освой самостоятельно объектно-ориентированное программирование за 21 день. - М.: «Вильямс», 2002.

  3. Блинов И. Н., Романчик В. С. Java Методы программирования: Учебно-методическое пособие. – Минск: Четыре четверти, 2013. – 895 с.

  4. Кэти Сьерра,Берт Бэйнс.Head First Java,Изучаем Java.

  5. Герберт Шилдт. Java.Руководство для начинающих. Издание -10.

  6. Адитья Бхаргава. Грокаем алгоритмы. 2020.

  7. Курс Skillbox.Java Developer.2020.

  8. Серия видеоуроков Java. https://www.youtube.com/playlist?list=PLAma_mKffTOSUkXp26rgdnC0PicnmnDak

  9. Т.Кормен, Ч.Лейзерсон, Р.Ривест, К.Штайн - Алгоритмы. Построение и анализ. Издание 3-е (2013).

  10. Барри Берд. Java.

  11. Патрик Нимейер и Дэниэл Леук. Программирование на Java.2017.

  12. Алексей Васильев. Java. Объектно-ориентированное программирование.2011.

  13. Java 8. Шилдт (2015).pdf

  14. Брюс Эккель - Философия Java - 2015.pdf

  15. Сауханова Жанат - Дәрістер жинағы




написать администратору сайта