Skip to main content


Home Object-oriented programming

Object-oriented programming

(also OOP)

Object-oriented programming definition

Object-oriented programming is a programming paradigm that prioritizes objects over functions and logic.

See also: subtyping, ActiveX

Main concepts of OOP

  • Objects. Objects are instances of classes that contain data in the form of fields (attributes or properties) and code in the form of procedures (methods).
  • Classes. A blueprint for creating objects.
  • Inheritance. A mechanism where a new class can inherit properties and behaviors (methods) from an existing class.
  • Polymorphism. The ability of different objects to be treated as instances of the same class through inheritance.
  • Encapsulation. The bundling of data (attributes) and methods that operate on the data into a single unit or class.
  • Abstraction. It hides complex implementation details and shows only the essential features of an object.
  • Message passing. Objects communicate with one another through methods (functions bound to the objects) by passing messages.

Examples of object-oriented programming

  • Java. Developed by Sun Microsystems, it is one of the most widely used object-oriented languages. Its “write once, run anywhere” approach has made it popular for various application domains, including web, mobile, and enterprise applications.
  • C++. An extension of the C programming language, C++ was developed by Bjarne Stroustrup. It incorporates object-oriented features while retaining the power and flexibility of C.
  • Python. A versatile, high-level language that supports multiple programming paradigms, including OOP. Its simplicity and readability have made it popular for web development, data science, and artificial intelligence.
  • C# (C Sharp). Developed by Microsoft for its .NET framework, C# is a modern, object-oriented language used for developing Windows applications, web services, and games (especially with the Unity game engine).
  • Ruby. Known for its elegant and expressive syntax, Ruby is a pure object-oriented language. It gained immense popularity with the Ruby on Rails web development framework.
  • Objective-C. This language combines C with object-oriented capabilities inspired by Smalltalk.
  • Swift. Introduced by Apple to replace Objective-C for iOS, macOS, watchOS, and tvOS development.