Кіріспе

Объектіге негізделген тіл термині техникалық мағынада объектілер ішінде күй мен операцияларды қаптау идеясын қолданатын кез келген бағдарламалау тілін сипаттау үшін қолданылуы мүмкін. Объектіге негізделген тілдер мұрагерлік немесе подтиптеуді қолдауды қажет етпейді, бірақ оны қолдайтын тілдер объектіге бағытталған деп аталады. Мұрагерлік немесе подтиптеуді қолдамайтын объектіге негізделген тілдер, әдетте, толыққанды объектіге бағытталған тілдер болып саналмайды. Объектіге бағытталған тілдерге мысал ретінде шамамен хронологиялық тәртіппен Simula, Smalltalk, C++ (оның объектілік моделі Simula-ға негізделген), Objective C (оның объектілік моделі Smalltalk-қа негізделген), Eiffel, Xojo (бұрынғы REALbasic), Python, Ruby, Java, Visual Basic NET, C# және Fortran 2003 кіреді. Объектіге негізделген, бірақ объектіге бағытталмаған тілдерге мысал ретінде Ada, Visual Basic (VB) және Fortran 90 бағдарламаларының алғашқы нұсқаларын қарастыруға болады. Бұл тілдердің барлығы объектіні дерек құрылымы ретінде анықтауға қолдау көрсетеді, бірақ полиморфизм мен мұрагерлік жоқ. Іс жүзінде, «объектіге негізделген» термині әдетте объектіге бағытталмаған, сонымен қатар барлық объектіге бағытталған тілдер де, анықтама бойынша, объектіге негізделген. Оның орнына, «объектіге негізделген» және «объектіге бағытталған» терминдер, әдетте, бір-біріне сәйкес келетін категориялар ретінде емес, өзара ерекшеленетін баламалар ретінде қолданылады. Кейде «объектіге негізделген» термині прототипке негізделген бағдарламалау тілдеріне қолданылады, бұл кластар жоқ, бірақ объектілер өздерінің коды мен деректерін басқа үлгі объектілерінен тікелей мұра етеді. Әдетте қолданылатын прототипке негізделген скрипт тіліне мысал – JavaScript. Объектіге негізделген және объектіге бағытталған тілдер (классқа негізделген немесе прототипке негізделген) статикалық түрде тексерілуі мүмкін. Прототипке негізделген тілдерді статикалық тексеру қиын болуы мүмкін, өйткені бұл тілдер көбінесе нысандарды жаңа мінез-құлықпен динамикалық түрде кеңейтуге және тіпті олардың аталық объектісін (олар мұра еткен) орындау кезінде өзгертуге мүмкіндік береді. + Объектіге бағытталған және объектіге негізделген тілдердің айырмашылығы Объектіге бағытталған тіл Объектіге негізделген тіл Объектіге бағытталған тілдер объектіге бағытталған бағдарламалаудың (ОББ) барлық ерекшеліктерін қолдайды: абстракциялау, инкапсуляциялау, мұралау, полиморфизм. Объектіге негізделген тілдер ОББ ерекшеліктерінің ішінен бір бөлігін ғана қолдайды, мысалы, полиморфизм немесе мұралау. Мысалдар: C++, C#, Java және т.б. Мысалдар: Visual Basic (NET-ке дейінгі).