Программалау түсінігінде объектілі бағытталған программалау программаны программалық объектілер жиынтығы түрінде көрсетуге негізделген күрделі программалық қамсыздандыруды құру технологиясы түрінде анықталады. Бұл жерде объектінің өзі қандай да бір тип (класс) экземпляры болып табылады, ал кластар қасиеттерді тұқым қуалау арқылы иерархия құрады. Мұндай жүйеде программалық объектілер қарым қатынасы хабарламаларды жіберу арқылы іске асырылады. Объектілі бағытталған программалаудың негізгі артықшылығы модульдік программалаумен салыстырғанда модульдер арасында жіберілген ақпарат көлемінің азаюы және модуларалық байланыстар санының қысқаруы. Объектілі программалау программа құрудың жаңа технологиялық құралдарын ұсынады. Олар тұқымқуалаушылық, полиморфизм, компазиция, толтыру, паралелизм. Объектілі бағытталған программалаудың негізгі кемшілігі программалық жүйе құрастырылуының күрделілігі есебінен жылдамдықтың азаюы. Объектілі бағытталған программалау негізіне абстрактілеу, қатынауды шектеу, модулділік, иерархиялық, типтеу, параллельділік және тұрақтылық принциптері жатады.
Абстрактілеу — есептің пәндік облысында абстрактілерді ерекшелеу процесі. Абстракция дегеніміз қандай да бір объектінің оны барлық басқа объект түрлерінен ерекшелейтін сипаттамалар жиынтығы. Осылайша берілген объект ерекшеліктерімен шешілетін есептің әрі қарай қарастырылуы және талдануы жағынан нақты анықтайды. Анықтамаға сәйкес нақты затқа қолданатын абстракция шешілетін есепке тәуелді болады. Мысалы, бір жағдайда бізді заттың формасы қызықтырса, екіншісінде оның самағы, үшіншісінде жасалған материалы және т.с.с. Объектілі бағытталған программалау абстракцияның барлық қасиеттерін бүтін практикалық бірлікке, яғни қандай да бір абстрактілік типке біріктіруді қарастырады.
Қатынауды шектеу — абстракцияны іске асыратын жеке элементтерін шектеу. Қатынауды шектеу қажеттігі абстракцияны сипаттауда екі бөлікті шектеуді қарастырады:
Интерфейс абстракцияны жүзеге асырудың қолжеткізуге мүмкіндігі бар элементтің жиынтығы.
Реализация немесе жүзеге асыру. Абстракцияны жүзеге асырудың қолжеткізуге мүмкіндігі жоқ элементтің жиынтығы.
Модульділік — программалық жүйелерді құруда программаны жеке бөліктер түрінде жүзеге асыру принципі.
Иерархиялық — абстрактордың реттелген немесе ранжирленген жүйесі. Иерархиялық принципі программалық жүйелерді құруда иерархияларды қолдануды қарастырады. Объектілі бағытталған программалауда иерархияның екі түрі қолданылады:
“бүтін / бөлік“ иерархиясы кейбір абстрактор қарастырып отырған абстракцияға оның бөлігі ретінде кіретінін көрсетеді. Иерархияның бұл нұсқасы жобалаудың әр кезеңдерінде жүйені бөліктерге бөлу процесінде қолданылады.
“жалпы / жеке” иерархиясы қандай да бір абстракция, басқа абстракцияның жеке жағдайы болатынын көрсетеді. Мысалы, тамақтанатын үстел үстелдің нақты түрі, ал үстел жихаздың нақты түрі. Иерархияның бұл нұсқасы класс құрылымын құруда күрделі кластар қарапайым кластар негізінде оларға жаңа сипаттамалар қосу жолымен құрылған кезде қолданылады. Объектілі бағытталған программалаудың негізгі механизмдерінің бірі жалпы жеке иерархиясында қасиеттерді тұқымқаулау. Тұқымқуалау абстрактор арасындағы қатынас. Бұл кезде қандай да бір абстракция бір немесе бірнеше басқа абстракцияның құрылымдық немесе функционалдық бөлігін қамтиды.
Типтеу — объектілер қасиеттеріне салынатын және әр түрлі типті абстракцияның өзара алмасуына жол бермейтін шектеу. Типтеу приципін қолдану:
Эффективтік кодты генерациялауға мүмкіндік береді.
Параллельділік — бірнеше абстракцияның қасиеттері бір уақытта активт күйде болады.
Тұрақтылық — абстракцияның процестен тәуелсіз болу қасиеті.
Осы аталған 7-принциптің төртеуі жүзеге асырылатын болса, онда тіл – объектілі бағытталған болып саналады.