⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

{{feature|Programming paradigm}}'''Object-oriented programming''' (OOP) is a programming paradigm that uses "objects" to design applications and computer programs. It utilizes several techniques from previously established paradigms, including [[inheritance]], modularity, interfaces, [[polymorphism]], and encapsulation. Even though it originated in the 1960s, OOP was not commonly used in mainstream software application development until the 1990s. Today, many popular programming languages (such as [[Ada]], [[Java]], [[JavaScript]], [[C sharp|C#]], [[Visual Basic .NET|VB.Net]], [[C++]], [[Python]], [[PHP]], [[Ruby]] and [[Objective-C]]) support OOP.

Object-oriented programming may be seen as a collection of cooperating objects, as opposed to a traditional view in which a program may be seen as a collection of functions, or simply as a list of instructions to the computer. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be visualized as an independent little machine with a distinct role or responsibility.

An '''object-oriented programming language''' (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming techniques such as those listed above. [[Simula]] (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. [[Smalltalk]] (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.

==Citation==

  • [[wp:Object_oriented_programming|Wikipedia:Object oriented programming]]
  • [[wp:Object_oriented_language|Wikipedia:Object oriented language]]