Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Объектіге негізделген тіл термині техникалық мағынада объектілер ішінде күй мен операцияларды қаптау идеясын қолданатын кез келген бағдарламалау тілін сипаттау үшін қолданылуы мүмкін. Объектіге негізделген тілдер мұрагерлік немесе подтиптеуді қолдауды қажет етпейді, бірақ оны қолдайтын тілдер объектіге бағытталған деп аталады. Мұрагерлік немесе подтиптеуді қолдамайтын объектіге негізделген тілдер, әдетте, толыққанды объектіге бағытталған тілдер болып саналмайды. Объектіге бағытталған тілдерге мысал ретінде шамамен хронологиялық тәртіппен 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-ке дейінгі).
The term object based language may be used in a technical sense to describe any programming language that uses the idea of encapsulating state and operations inside objects. Object based languages need not support inheritance or subtyping, but those that do are also termed object oriented. Object based languages that do not support inheritance or subtyping are usually not considered to be true object oriented languages. Examples of object oriented languages, in rough chronological order, include Simula, Smalltalk, C++ (which object model is based on Simula's), Objective C (which object model is based on Smalltalk's), Eiffel, Xojo (formerly REALbasic), Python, Ruby, Java, Visual Basic NET, C#, and Fortran 2003. Examples of a language that is object based, but not object oriented are early versions of Ada, Visual Basic (VB), and Fortran 90. These languages all support the definition of an object as a data structure, but lack polymorphism and inheritance. In practice, the term object based is usually applied to those object based languages that are not also object oriented, although all object oriented languages are also object based, by definition. Instead, the terms object based and object oriented are normally used as mutually exclusive alternatives, rather than as categories that overlap. Sometimes, the term object based is applied to prototype based programming languages, true object oriented languages that lack classes, but in which objects instead inherit their code and data directly from other template objects. An example of a commonly used prototype based scripting language is JavaScript. Both object based and object oriented languages (whether class based or prototype based) may be statically type checked. Statically checking prototype based languages can be difficult, because these languages often allow objects to be dynamically extended with new behavior, and even to have their parent object (from which they inherit) changed, at runtime. + Difference between object oriented and object based languages Object oriented language Object based language Object oriented languages support all of the features of object oriented programming (OOP): abstraction, encapsulation, inheritance, polymorphism Object based languages support a subset of the features of OOP, such as polymorphism or inheritance. Examples: C++, C#, Java, etc. Examples: Visual Basic (pre NET)