191
атауды қолдану жəне қажетті əрекетті программаның атқарылуы барысын-
да еркін түрде таңдау мүмкіндігі.
С++ тілінде полиморфизм түсінігі кең қолданылады. Полиморфизмнің
қарапайым мысалы ретінде кітаптың бірінші бөлімінде
қарастырылған функ-
цияларды асыра жүктеуді алуға болады, бұл кезде прототипінің берілетін
параметрлерге сəйкестігі бойынша бірнеше нұсқалардың ішінен барынша
жарамды функция таңдалады. Басқа мысал ретінде функциялар шаблонда-
рын қолдануды атауға болады (алдағы уақытта біз кластар шаблондарын да
қарастырамыз), бұл кезде бір ғана код параметр ретінде берілген типке сəйкес
өзгертіледі. Полиморфизм түсінігін виртуалды тəсілдер механизмімен (ол
222 б. қарастырылады) жиі байланыстырады.
Программаның объектілер тəртіптері терминдерімен бейнеленуінің
арқасында программалау кезінде пəндік аймаққа жақынырақ түсініктер
қолданылады, демек, бұл программаны оқу мен түсінуді оңайлатады. Осы
қасиет ОБП-дың үлкен артықшылығы болып табылады.
Алайда объектіге
бағытталған программалауды жобалау күрделі мəселе болып келеді, өйткені
процеске тағы бір маңызды кезең –
кластар иерархиясын құру қосылады.
Нашар жобаланған иерархия күрделі жəне түсініксіз программалардың
құрылуына алып келеді. ОБП-ды қолданудың басқа бір кедергісі меңгерілуі
қажет ақпарат көлемінің үлкендігі жəне оны
меңгерудің қиындығы болып
саналады.
Жобалауды бастаудан бұрын объектіге бағытталған тəсілді қолдану
қажеттілігін анықтап алған дұрыс. Егер кластардың иерархиясы қажет бол-
маса, əдетте модульдік технологиямен шектелу жеткілікті, мұндайда стан-
дартты кітапхананың кластарын жəне өзіндік кластарды тиімді пайдалануға
болады. Стандартты кластарды қолдану үшін
алдымен қажетті синтаксис
пен механизмдерді, содан кейін барып, осы кластардың нақты қасиеттерін
1
меңгерген жөн болатыны сөзсіз.
1
Осы кітапта көрсетілген программаларда cin жəне cout стандартты кітапхана кластары қолданылған.
Басқа кластарды қолдану оңай сияқты көрінбеуі мүмкін, бірақ нəтижесі соған жұмсалған күшті
ақтайды