Объектілі-бағытталған программалаудың негізгі қасиеттері:
Объектілі – бағытталған программалаудың негізгі үш қасиеті бар: инкапсуляция, полиморфизм және мұрагерлік (тұқым қуалау). Инкапсуляция. Кластың мәліметтер структурасы сыртынан Си тіліндегі структураға және Паскальда немесе QuickBasic-тегі жазба тәрізді объектілі бағытталған тілдер мәліметтерінің типіне ұқсас. Сондықтан, осындай структура элементтері (класс мұшелері) тек мәліметтер ғана емес, сондай-ақ әдісте (яғни процедура мен функция) бола алады. Мұндай біріктіру – инкапсуляция деп аталады.
Жалпы инкапсуляция – бұл принцип. Мұнда кез-келген класс қара жәшік тәрізді қарастыру керек. Яғни – класты қолданушы класстың тек интерфэйстік бөлігін ғана қолдануы және көруі керек және оның ішіне кірмеуі керек. Сондықтан, мәліметтерді класта – оған кіру рұқсаты оқу және жазу бойынша тікелей емес, әдіс көмегімен жүзеге асырылатын түрде ғана инкапсуляция жасау қабылданған. Инкапсуляция принципі – класстар арасындағы байланыс санын минималдайды және соған сәйкес класстың тәуелсіз реализациясын және модификациясын бекітеді.
Полиморфизм. Полиморфизм – бұл әдістің мәліметтерін шақыру кезінде қандай класстың объектісі қолданылатынан тәуелді болып келетін әр түрлі программалық кодқа (полиморфты код) – бір атпен берілген функцияның сәйкес келу құбылысы. Полиморфизм – класс ұрпақтарының міндетті түрдегі сигнатуралық әдіспен берілген класстың алдыңғы ұрпақтарының реализациялық әдісін өзгертумен қамтамасыз етіледі. Бұл класс ұрпақтарының өзгермейтін интерфэйсінің сақталуын қамтамасыз етеді және әр түрлі класпен берілген кодта әдіс атымен байланысуды жүзеге асырады. Мұнда шақыру қай кластың объектісімен жүзеге асырылады, мәліметтер атымен берілген әдіс те сол кластан алынады. Мұндай механизм динамикалық (жай) байланысу деп атайды.
Жай және күделі палиморфизм. Кез – келген прогаммалау тілінде класстар иерархиясын құру үшін полимарфизм механизмі қарастырылған. Ол иерархияның әр түрлі деңгей класстары үшін қандай да бір аты бойынша біріккен әдістің әр түрлі аспектілерін анықтауға мүмкіндік береді. Полимарфизмді жай және күрделі деп бөледі. Жай полимарфизм ерте байланысу механизміне негізделеді. Ал күрделі полимарфизм кеш байланысу механизмін қолданылады.
Жай немесе статикалық полимарфизм С++ тілінде компиляция кезінде қолданылады және функцияларды қайта анықтау механизмі көмегімен іске асырылады. Мұндай полиморфты функциялар С++ -те қайта анықталатындар деп аталады. Жалпы ережелерге сәйкес олар қайталанатын параметр типімен және сигнатурамен яғни жіберілетін параметр сонымен типімен және кезектесу ретімен ерекшеленеді.
Мұрагерлік. Мұрагерлік – класс алдындағы ұрпақтың барлық қасиеттерін және әдістерін сақтай отырып, бір кластың басқа кластан пайда болу мүмкіндігі. Мұрагерлік қатынасымен байланысқан кластар жиынтығы – иерархия деп атайды. Нақтырақ айтқанда, объект келесі объектінің негізгі қасиеттерін мұра ете алады және тек оған ғана сәйкес кескіндер қоса алады. Мұрагерлік маңызды, себебі ол кластар иерархиясын қолдану үлкен информация лектерін басқарылатындай етеді.