Новый документ (3) (1) (1)


қалпы жəне мінез – құлқы



Pdf көрінісі
бет4/16
Дата10.12.2023
өлшемі330,22 Kb.
#136675
1   2   3   4   5   6   7   8   9   ...   16
Байланысты:
Новый документ (3) (1) (1)

қалпы
жəне
мінез – құлқы
болады. Мысалы, автомобильдің
қалпы бар (түсі, жүру жылдамдығы, типі жəне дөңгелек көлемі) жəне
мінез – құлқы (тежеуі, жылдамдатуы). Шеңбердің өзіне тəн қасиеттері
бар. Мысалы, орталық координаттары, радиусы, түсі. Жəне де өзіне тəн
мінез – құлқы (салу, орын алмастыру, түсін өзгерту).
Программалық объектілер, қоршаған орта объектілеріне тəн өзіндік
қасиеттері де бар. программалық объектілер өзінің қалпын өзінің
қасиетінде
сақтайды. Қасиеті – идентификаторы бар, белгілі бір мəн.
программалық объектілердің мінез – құлқын
əдіс
арқылы іске асырады.
Əдіс –
бұл объектімен байланысқан астыртын программа (процедура).
Сонымен,
объект
дегеніміз – бұл құрамында əдіс пен қасиеті бар
программалық бірлік
ООП-да класс үшін мұрагерлік, инкапсуляция жəне полиморфизм
принциптері енгізілгек.Жоғарыда айтылып өткен мəселе жайында мысалы
келтірейік:
Мысалы ретінде кез келген программа құру қажет дейік, ол программа
шеңберді салып оны кез келген түске бояуы тиіс делік. Бұл үшін оған
радиус, орталық координат жəне де ол шеңбер боялатын түс қажет. Егер
стандартты түрде даярлайтын болсақ, онда бізге келесі мəндер керек
болады:
R – шеңбер радиусы;
X, Y – шеңбер орталығының координаттары;
Color – шеңбер түсі.
Бұл шеңберді салу үшін бізге процедура қажет, демек оны Draw деп
атайық. Ол R, X, Y, Color координаталы шеңберді бейнелеп тұрады.


Стандартты даярлаудың кемшілігі бұл параметрлердің бір – бірімен
байланыссыз болуы. Мысалы, бір емес үш шеңбер салу керек (мысалы
аққала). Стандартты программалау жағдайында бізге екі амалдың бірін
таңдау қажет болады. Біріншісі - шеңбер үшін R, X, Y, Color, онан соң осы
шеңбердің əрқайсысы үшін Draw командасын шақыру қажет. Бұл тəсілдің
кемшілігі егер көп шеңбер салу керек болса, онда бізге көптеген ауыспалы
мəндер қажет болады. Бұл программаның үлкен размерділі болуына əкеліп
соғады. Екінші тəсіл - əрбір шеңбер үшін R, X, У, Color, бірақ екінші
шеңбер салу барысында, алғашқы шеңбердің мəні жоғала береді. Бұл
тəсілдің кемшілігі соңғы шеңберден басқа барлық шеңберлердің мəнін
жоғалтып аламыз.
Егер бұл суретте тек аққала салумен шектеле қойсақ, онда кемшілігі
көрінбей қалады. Көлемі жағынан үлкен программа құратын болсақ, онда
бізге программаға елеулі өзгерістер енгізу қажет болады. Аққаламен
қарастырылған мысалда бірнеше өзгеріс болады.
Аққаланың экран бетінде жүруі үшін Move процедурасы қолданылады.
Аққаланы баратын жеріне жеткізу үшін программистке аққаланың
баратын жерінің координаттары қажет емес (анығырақ айтсақ, əрбір
баратын нүктесінің координаталарын). Сондықтан Move процедурасының
параметрлері барлық мəні емес, тек жанама мəндерін ғана білуі тиіс.
Демек, аққала өзінің бастапқы нүктесінен бастап жүруі тиіс.
Аққаланың барлық түстерін өзгерту үшін ChangeColor процедурасы
қолданылады. Ол процедура орындалу үшін
екі параметр қажет.
Өзгертілетін объектінің атымен өзгертілетін түсі. Егер екінші тəсілді
пайдаланатын болсақ (ауыспалы мəні аз), онда біздің процедура аса
қиынға түседі.
Мұның себебі, аққала құрылатын шеңберлердің
(соңғысынан басқа) мəндерінің болмауы. Себебі, Draw процедурасы
шақырылған сайын ол мəндерді білуі тиіс.
Демек, аққала салынған
жағдайда ауыспалы R, X, Y, Color мəні тек соңғы объект үшін ғана
берілген болады. Ал, қалғандарының мəні жоғалған болып табылады.
Сондықтан шеңберлердің бəрінің орнын ауыстыру үшін, екінші тəсіл
қолайсыз болып табылады.
Бірінші тəсілді қолдану барысында, өте үлкен тəсілді, барлық
өзгертулерді енгізуге болады. Бірақ жаңадан енгізілген мəндер үшін бір
процедураны үш реттен шақыруға тура келеді. Егер тағы да бірнеше


аққала салатын болсақ, онда біздің программамыздың оқылуы өте баяу
болғандығынан басқа, стандартты жолмен жазу өте қиын, əрі оқылмай
қалу мүмкінділігі басым болады. Енді аталған мəселе объектті –
ориентирлік программалау
жағынан қарастырайық. Мұнда бірнеше
ауыспалылардың орнына, бірнеше объекті пайда болады. Басында барлық
шеңберлерді бірдей элементтер, бірақ əртүрлі құрылымнан тұрады деп
есептейміз. Олар бір – бірінен тек параметрлерімен ерекшеленеді деп
алайық. Draw, Move и ChangeColor процедураларының орындалуы бəрі
үшін жалпы бірдей болады. Демек, əрбір шеңбер өзге шеңберге ұқсас тек
өзінің параметрлерімен (радиусымен, орталық координатасымен, түсімен)
ерекшеленетін, бірақ бірдей іс – қимыл əрекетін жасайтын деп есептеледі.
Ары қарай қарастырылып отырған мəселе ОБП терминдерін қолдану
арқылы жазылады.
Əрбір элемент өз бетінше объект ретінде қарастырылып ортақ бір
процедураны орындайды. Ол
əрбір элемент


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет