Propiedades fundamentales de la orientación a objetos

Existen diversas características ligadas a la orientación a objetos. Todas las propiedades que se suelen considerar, no son exclusivas de este paradigma, ya que pueden existir en otros paradigmas, pero en su conjunto definen claramente los lenguajes orientados a objetos.

Propiedades:

– Abstracción (tipos abstractos de datos y clases).
– Encapsulado de datos.
– Ocultación de datos.
– Herencia.
– Polimorfismo.

C++ soporta todas las características anteriores que definen la orientación a objetos, aunque hay numerosas discusiones en torno a la consideración de C++ como lenguaje orientado a objetos.

La razón es que en contraste con lenguajes tales como Smalltalk, Java o C#, C++ no es un lenguaje orientado a objetos puro.

C++ soporta orientación a objetos pero es compatible con C y permite que programas C++ se escriban sin utilizar características orientadas a objetos.

De hecho, C++ es un lenguaje multiparadig-ma que permite programación estructurada, procedimental, orientada a objetos y genérica.