Деректерді қайта құру және полиморфизм. Полиморфизмді қолдану
Автор: f************@rambler.ru, 27 Ноября 2011 в 18:17, реферат
Описание работы
Объекті-бағытталған программалау тілдерінің негізгі концепциясы– құрылатын қосымша өзара байланысқан негізгі объектілерден тұрады. Объекті-бағытталған технологияда қолданушы үш базалық элементпен: объектілер, хабар және класстармен жұмыс істейді.
Көп жылдық зерттеулердің нәтижесінде объектіге бағытталған деп аталатын тәсіл зерттеліп дайындалған және сынақтан өткен(1967 жылы – Simula67 тілі,ал 1983 жылы – С++ тілі).ОБТ-ның программалық жүйелерінде құрудың бұрынғы әдістерінен негізгі артықшылығы – деректердің және олармен бірге істейтіе кодтардың тығыз байланыста болуы.
Объектіге бағытталған тәсіл келесі күрделі проблемаларды жеңіл шешуге көмектеседі:
Содержание
Мазмұны
1.Кіріспе
2.Объектіге бағытталған программалау(ОБП).
2.1. Объектіге бағытталған ойлау.
2.2 .ОБП-ның сипаттамасы.
3.Деректерді қайта құру және полиморфизм. Операциялардың
шамадан тыс жүктелуі.
3.1.Полиморфизм.Класпен анықталған түрлендіру.
3.2.Функциональды тілдердегі полиморфизм.
4.Қорытынды.
5.Қолданылған әдебиеттер тізімі.
Работа содержит 1 файл
Полиморф Бибигуль.docx
— 25.13 Кб (Скачать)Қазақстан Республикасының Білім және Ғылым Министрлігі
Әл-Фараби
атындағы Қазақ Ұлттық Университеті
География
және табиғатты пайдалану факультеті
Геоинформатика және картография кафедрасы
СӨЖ
Деректерді қайта құру және
полиморфизм. Полиморфизмді
қолдану
Мазмұны
1.Кіріспе
2.Объектіге бағытталған программалау(ОБП).
2.1. Объектіге бағытталған ойлау.
2.2 .ОБП-ның сипаттамасы.
3.Деректерді қайта құру және полиморфизм. Операциялардың
шамадан тыс жүктелуі.
3.1.Полиморфизм.Класпен анықталған түрлендіру.
3.2.Функциональды тілдердегі полиморфизм.
4.Қорытынды.
5.Қолданылған
әдебиеттер тізімі.
Объекті-бағытталған
программалау тілдерінің негізгі концепциясы–
құрылатын қосымша өзара
Көп жылдық зерттеулердің нәтижесінде объектіге бағытталған деп аталатын тәсіл зерттеліп дайындалған және сынақтан өткен(1967 жылы – Simula67 тілі,ал 1983 жылы – С++ тілі).ОБТ-ның программалық жүйелерінде құрудың бұрынғы әдістерінен негізгі артықшылығы – деректердің және олармен бірге істейтіе кодтардың тығыз байланыста болуы.
Объектіге бағытталған тәсіл келесі күрделі
проблемаларды жеңіл шешуге көмектеседі:
- Программалық жабдықтаудың күрделілігін азайту;
- Программалық жабдықтаудың сенімділігін арттыру;
- Программалық жабдықтаудың жеке компоненттерін қайтадан пайдалануға мүмкіншілікті қамтамасыз ету.
Объектіге бағытталған тәсілді жүйелі
қолдану жақсы құрамдалынған,пайдалануда
сенімді,жақсы модификацияланатын программалық
жүйелерді дайындауға мүмкіндік береді.Объектіге
бағытталған тәсілге және объектіге бағытталған
программалаудың тілдеріне программистердің
қызығушылығы осылай түсіндіріледі.Объектіге
бағытталған тәсіл теориялық және қолданбалы
программалаудың ең қарқынды дамыған
бағыттарының бірі болып табылады.
2.1.Объектіге бағытталған ойлау
Объектіге бағытталған программалау 90-шы
жылдардағы программалаудың негізгі әдістанымы.
Ол 25 жылдық тәжірибенің өнімі болып табылады
және оған бірнеше тілдер кіреді:Simula 67,Smalltalk,Lisp,Clu,Actor,
Бұл программалаудың стилі,ол
нақты заттарды белгілі бір
әдіспен белгілегенде,оның
ОБП-бұл бар тілдерге қосылған
кейбір қасиеттердің жай
Жалпы категория туралы
Кластар қасиеттерінің
Сөйтіп,аталымдық кластан
Белгілі хабарға жауап беруге
шақыратын әдіс іздеп табу
класына жататын әдістерден
2.2.ОБП сипаттамасы.
1. Барлығы объект болып табылады.Әр объект нақты міндетке жауапты
болады.
2. Есептеу объектілердің арасында өзара әрекеттесу жолымен жүзеге асырылады,бұнда бір объект екінші объектіге кейбір әрекеттерді орындауды талап етеді.Объектілер хабарды беру және алу арқылы бір-бірімен өзара әрекеттеседі.Хабарлар – бұл аргументтер жиынтығымен толықтырылған әрекетті орындауға қажет болады.
3. Әр объектінің тәуелсіз жадысы болады, ол басқа объектілерден тұрады.
4. Әр объект объектілердің жалпы қасиеттерін білдіретін кластардың өкілдері болып табылады.
5. Класта объектілердің бет-алысы беріледі. Осылайша бір кластың экземплярлары болып табылатын барлық объектілер бірдей әрекеттерді орындауы мүмкін,яғни бірдей сұраныстарға бірдей жауап береді.
6. Объект өзінің бет-алысын ідңс шақырған хабарға жауап беру арқылы білдіреді.
7. Кластар жалпы тамыры бар тұтас ағаш тәрізді құрылыммен ұйымдастырылған.Жады және бет-алысы белгілі кластың экземплярларымен байланысты,иерархиялық ағаштың төменінде орналасқан кез-келген класқа автоматты түрде ашық.
Сөйтіп,объектіге бағытталған
- Деректерді жасыратын икапсуляция – объектінің ішкі күйін және ретін,оның сыртқы күйі мен ретінен ажырата білу қабілеттілігі.
- Абстракция- титердің кеңейтілуі – пайдаланушымен анықталатын типтер тізбегінде типтерді толықтырып отыратын типтердің қосу қабілеті. ОБП принципінің бірі – пайдаланушымен анықталатын типтер,құрылған типтер сияқты артықшылыққа ие болу керек деп тұжырымдайды.
- Мұралау – бар типтердің сипаттамасын қайта пайдаланып жаңа типтерді құру қабілет.
- Динамикалық байланысты – Полиморфизм – бұл функцияның шақыру интерпритациясы үшін объектілердің жауапкершілікте болу қабілеті.
3.1.Полиморфизм. Класпен анықталған түрлендіру.
Полиморфизм – бұл өңделетін
деректердің типіне байланысты
сол бір хабарлауға әр түрлі
шамаларды беру үшін арналған
құрал. Түрлендіру – бұл типке
байланысты шаманың айқын
Операторлар сигнатуралардың
ОБП-ның бірінші принципі
Типтің аты(өрнек)
Тип идентификатор өрнектелуі сияқты. Мына екі өрнек
Х= (Float)i;
Х= Float(i);
эквивалентті.
P=(Int*)x;// шекті келтіру өрнегі.тікелей функционалды.
P=(Int*)x;
өрнектеле алмайды.
Ол үшін typedef қолданылады.
Typedef int * int_ptr;
Р=int_ptr(x);
Бір аргументті бар конструктор,шындығында,
String(const char *p) {
len=strlen(p); s= new char [len+1] ; strcpy (s,p) ; }
Көрсетілген өрнектеу формула – char * string-ке типтерін автоматты түрлендіру. Ол айқын түрде және айқын емес түрде қолданылады. Айқын турлендіру операция ретінде келтіру немесе функционалды операциясы қолданылады.Осылай,кодтың екі варианты болуы мүмкін.
String s;
char * logo=″Hello″;
s=string(logo) ; // түрлендіруді орындайды,одан кейін // беруі және
s= logo ; //
түрлендіруінің айқын емес
Осы
кодты пайдалану анықталған
Конструкторды
және шамадан тыс жүктелу
3.2. Функционалды тілдердегі полиморфизм
Функциональды тілдерде полиморфизм Haskell мысал тілінде қарастырылатын болады.
Haskell
тілінде полиморфизмнің екі
Әдейіні ad hoc (лат.ad hoc-әдейі) деп те атайды.
Параметрлік
полиморфизм жағдайында функция
барлық класстар үшін бірдей орындалады.Мысалы,сорттау
функциясы деректердің кез-