Qué es programación orientada a objetos? - Tecnología + Informática (2023)

Dentro del mundo del diseño de software existe un tipo de programación conocida con las siglas OOD, que provienen del concepto en inglés Object Oriented Programming.

Se trata de la programación orientada a objetos y su objetivo difiere de otros tipos de diseños de software, ya que en este caso lo que se busca es desarrollar el software en torno a un objeto o datos.

Te preguntarás qué significa esto? Pues bien, básicamente la característica principal en la programación orientada a objetos es que su código está relacionado a un objeto específico y reemplaza el código lineal simple.

De esta manera el código encaja con dicho objeto y es posible así que se puedan desarrollar operaciones de usuario específicas en torno al conjunto de datos de dicho objeto.

Qué vas a encontrar aquí? Qué es la programación orientada a objetos? Historia, características, tipos, ventajas y usos de la programación orientada a objetos.

Qué es programación orientada a objetos? - Tecnología + Informática (1)

Ten en cuenta que gracias a la programación orientada a objetos ha sido posible el desarrollo de nuevas tecnologías en el ámbito de la programación. Un caso puntual de ello ha sido Microsoft Visual Basic.

Índice de Contenidos

  1. Qué es la programación orientada a objetos?
    1. Etapas
  2. Historia de la programación orientada a objetos
  3. Características de la programación orientada a objetos
  4. Tipos de la programación orientada a objetos
  5. Ventajas la programación orientada a objetos
    1. Desventajas de la programación orientada a objetos
  6. Usos de la programación orientada a objetos

Qué es la programación orientada a objetos?

Lo primero que tienes que saber es que dentro del mundo de la programación informática, un objeto es considerado un campo de datos. Este objeto posee comportamientos y atributos que son únicos.

En función de ello, la programación orientada a objetos (OOP) consiste en un modelo de programación informática en la cual el diseño del software se desarrolla alrededor de dichos objetos, ya no en torno a lógica y funciones.

Qué es programación orientada a objetos? - Tecnología + Informática (2)

Por ende, quienes trabajan en este tipo de programación, en vez de crear códigos en base a la lógica que permite manipular los objetos, lo que hacen es centrarse en los propios objetos.

Debido a las características que posee la programación de este tipo, suele utilizarse más frecuentemente en la creación de programas más bien complejos, grandes y que suelen ser actualizados periódicamente.

Es por ello que suele ser un tipo de programación muy utilizada en el ámbito del desarrollo de plataformas colaborativas.

Etapas

Dentro de la programación orientada a objetos, existen una serie de etapas que deben cumplirse para poder programar un software adecuado.

  • Recopilación

En principio, lo primero que hará un desarrollador será recopilar los objetos que desea manipular.

Qué es programación orientada a objetos? - Tecnología + Informática (3)

  • Identificación y modelado de datos

Una vez realizada esta recopilación, lo que hará será identificar el comportamiento individual de esos objetos y cómo se relacionan entre ellos. Esta etapa se la conoce como “modelado de datos”.

Ten en cuenta que un objeto puede contener la más variada información, es decir que pueden ser programas como los widgets, pero también pueden tener atribuciones de entidades físicas.

(Video) ¿Qué es la programacion orientada a objetos?

  • Clasificación

Cuando el programador ha identificado correctamente el objeto, lo clasifica de acuerdo a los datos que contiene, como así también definiendo las secuencias lógicas que pueden manipularlo.

  • Método y secuencias lógicas

Cada objeto puede tener diferentes secuencias lógicas para su manipulación, y cada una de ellas es conocida con el término de “método”. Además lo objetos tienen la facultad de comunicarse a través de interfaces denominadas “mensajes”.

  • Resultado

Teniendo en cuenta esto, puedes hacer una idea de cómo es un desarrollo de programación orientada a objetos de forma muy sencilla. Por ejemplo, en aplicaciones visuales suelen disponer de botones, cuadros de diálogo y demás.

Qué es programación orientada a objetos? - Tecnología + Informática (4)

Pero además, cada objeto contiene su propio código específico. A través de dicho código se establece el comportamiento y el uso de ese objeto.

Historia de la programación orientada a objetos

Pueden encontrarse los primeros orígenes de la programación orientada a objetos en el año 1967, cuando Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo lanzaron Simula 67.

En líneas generales se trataba de un lenguaje que había sido desarrollado para poder realizar simulaciones de naves, para lo cual se introdujo el concepto de clase, que permitió agrupar las naves en distintas clases de objetos.

Qué es programación orientada a objetos? - Tecnología + Informática (5)

Con el correr de los años, este tipo de programación fue evolucionando y mejorando, dando lugar a la primera programación con Basic, conocida como Simula en Xerox PARC.

En este caso se introdujo la posibilidad de que los objetos pudieran crearse y modificarse según las necesidades, lo que permitió pasar a un diseño de software dinámico.

Ya para mediados de la década de los años 80´s, la programación orientada a objetos fue dominando el ámbito de la programación, sobre todo por el surgimiento de C++. Este consistía en una extensión del lenguaje de programación C.

Una de las causas fundamentales de ello fue el interés cada vez mayor en las interfaces gráficas de usuario.

Qué es programación orientada a objetos? - Tecnología + Informática (6)

Ten en cuenta que la programación orientada a objetos está perfectamente adaptada a las interfaces gráficas de usuario.

Debido a ello, cada vez más lenguajes de programación existentes fueron incorporando características propias de la programación orientada a objetos. Tal es el caso de Basic, Pascal, Ada y otros.

Si bien en principio esta incorporación a lenguajes existentes generó algunos inconvenientes de compatibilidad de código, lo cierto es que ello permitió el surgimiento de nuevos lenguajes basados en métodos orientados a objetos.

Uno de los primeros ejemplo de ello fue el lenguaje de programación Eiffel de Bertrand Meyer, que luego con el correr del tiempo fue reemplazado por el conocido Java. Claro que allí tuvo una gran preponderancia la masificación de internet y la implementación de la máquina virtual Java en la mayoría de navegadores web.

Qué es programación orientada a objetos? - Tecnología + Informática (7)

Hoy, después de varias décadas nos encontramos con las últimas y más modernas versiones de PHP, que es capaz de soportar la programación orientada a objetos de forma absoluta, con todas sus características.

Características de la programación orientada a objetos

Como sucede con cada uno de los tipos de programación, en el caso de la programación orientada a objetos también posee una serie de características que la diferencian del resto.

(Video) Qué es la programación Orientada a Objetos: Curso de programación

Lo más destacado en este punto es que la programación orientada a objetos se basa en una serie de principios esenciales. Estos son los siguientes:

  • Encapsulación

Se trata de un método de ocultación de datos.

Cada objeto y su implementación se encuentran definidos por una clasificación a la cual no tienen acceso el resto de los objetos.

Por ende los objetos y procedimiento que no se encuentran en dicha categoría no pueden efectuar cambios, aunque sí pueden llamar a una lista de funciones o métodos públicos.

Esta característica permite mayor seguridad al programa, evitando así que se pueda producir una corrupción de datos por descuidos o equivocación.

Qué es programación orientada a objetos? - Tecnología + Informática (8)

  • Abstracción

Gracias al concepto de abstracción, los desarrolladores que trabajan con la programación orientada a objetos pueden ir añadiendo cambios y actualizaciones al software.

Para ello, se ocultan los códigos de implementación que no se requieren para efectuar esos cambios, y al mismo tiempo se brinda acceso a los mecanismos internos de cada objeto, en función del uso de otros objetos.

  • Herencia

Esta característica hace posible que los desarrolladores tengan acceso a todos los datos para su análisis. Con ello logran generar nuevos desarrollos en menor tiempo y alcanzar una mayor precisión.

Para ello, entre los objetos se determinan relaciones y subclases. De esta forma es posible utilizar una lógica común y al mismo tiempo mantener una jerarquía única.

  • Polimorfismo

Esta característica consiste puntualmente en que los objetos pueden adoptar más de una forma, dependiendo del contexto en el cual se encuentren.

Para ello, el software será el que determinará cuál es el uso y el significado para cada ejecución de un objeto. De esta forma, no se genera la duplicación innecesaria de códigos.

Qué es programación orientada a objetos? - Tecnología + Informática (9)

  • Modularidad

Gracias a esta característica, cada aplicación puede ser separada en partes que se denominan módulos.

Cada uno de esos módulos son independientes entre sí dentro de los posible, como así también deben serlo de la propia aplicación.

De esta forma, si bien cada uno de los módulos tiene cierta conexión con el resto de los módulos de la aplicación, lo cierto es que pueden ser compilados por separado.

  • Garbage collection

En español significa recolección de basura, y precisamente se trata de la técnica que utiliza el entorno de objetos para destruir automáticamente aquellos objetos que no poseen referencias asociadas.

Gracias a ello, los desarrolladores no deben preocupase por la asignación o liberación de memoria.

El entorno será el encargado de asignar la memoria al nuevo objeto, y de la misma forma de liberarla cuando ningún objeto la esté utilizando.

Qué es programación orientada a objetos? - Tecnología + Informática (10)

(Video) ¿QUÉ ES LA PROGRAMACIÓN ORIENTADA A OBJETOS (POO)? Explicación Sencilla ✅ | UskoKruM2010

Tipos de la programación orientada a objetos

Existen dos tipos de programación orientada a objetos, que se diferencias por sus conceptos básicos en cuando al método de desarrollo.

Por un lado se encuentra la programación basada en clases, que suele ser la más utilizada, y por otra parte la basada en prototipos, es decir mundanalmente en los objetos.

Repasemos las características de cada una:

  • POO basada en clases

En la programación orientada a objetos basada en clases, como su nombre lo indica se utiliza la clasificación como herramienta principal, es decir como si fuese un molde.

Para ello, se crea una instancia de cada objeto, lo que vendría a ser una copia del mismo. Con ello se genera una estructura molde, llamada “clase”, en la cual estarán especificados los campos y métodos que tendrá cada uno de los objetos.

Suele ser el tipo de programación más utilizada en este ámbito, y la podemos encontrar en Java, C++ y C#.

Qué es programación orientada a objetos? - Tecnología + Informática (11)

  • POO basada en prototipos

La premisa de este tipo de programación es que cualquier objeto puede ser usado como el prototipo de otro objeto. De esta forma ambos objetos comparten las mismas propiedades.

Para ello se utiliza la clonación de objetos, es decir que se crea un objeto, y cuando es necesario generar otro objeto que posee la misma estructura se utiliza el método de clonación.

Claro que además de ello, es posible añadir campos y métodos específicos al objeto clonado.

Para ello se utilizan objetos prototípicos, que son básicamente utilizados como si fueran plantilla que contienen el conjunto inicial de propiedades de un objeto.

Como has podido ver, en este tipo de POO no se utilizan las clases sino los objetos. Ejemplos de ello son JavaScript, Python y Ruby.

Qué es programación orientada a objetos? - Tecnología + Informática (12)

Ventajas la programación orientada a objetos

La programación orientada a objetos, independientemente de la variante de basamento que posea, ofrece una serie de importantes ventajas para el desarrollo de software.

En líneas generales, podemos decir que la POO tiene las siguientes ventajas:

  • Reusabilidad

Fomenta la reutilización y ampliación del código, ya que cuando se han diseñado de forma correcta las clases, es posible utilizar diferentes partes del programa en diversos proyectos.

  • Mantenibilidad

Los programas desarrollados en base a la programación orientada a objetos suelen ser más fáciles de leer y comprender, gracias a la sencillez que posee para abstraer el problema. Además permite ocultar detalles de implementación, con lo cual se accede a los datos más relevantes.

Qué es programación orientada a objetos? - Tecnología + Informática (13)

  • Modificabilidad

Este tipo de programación hace posible que sea muy fácil modificar, suprimir o añadir nuevos objetos. De esta forma se logra agilizar el desarrollo del software.

  • Fiabilidad

Teniendo en cuenta que en la POO es posible dividir el problema en partes más pequeñas, todas estas partes pueden ser analizadas y probadas de forma independiente. Así es mucho más sencillo aislar y determinar con precisión posibles errores.

(Video) ¿Qué es la programación orientada a objetos ? - POO

Debido a todas estas ventajas, la programación orientada a objetos permite crear programas altamente conceptuales y funcionales, como así también generar sistemas más complejos.

Además teniendo en cuenta que se trata de un tipo de programación que se asemeja al mundo real, brinda la posibilidad de desarrollar software que pueda imitar eventos del mundo físico.

Esto es realmente útil no solo para mejorar y facilitar el trabajo en equipo, sino también que brinda grandes posibilidades del ámbito de TI.

Qué es programación orientada a objetos? - Tecnología + Informática (14)

Desventajas de la programación orientada a objetos

Si bien has comprobado que la POO tiene una importante serie de ventajas, lo cierto es que como todo incluye también algunos aspectos en contra.

Las principales desventajas de la programación orientada a objetos son:

  • La dificultad que puede representar el cambio en la forma de pensar de la programación tradicional a la orientada a objetos
  • Posible lentitud en la ejecución de programas orientados a objetos
  • Requiere de aprendizaje y entrenamiento para poder utilizar las bibliotecas de clases

Qué es programación orientada a objetos? - Tecnología + Informática (15)

Usos de la programación orientada a objetos

En sus comienzos, allá por la década de los sesenta, la programación orientada a objetos tuvo su primera aparición en Simula. Se trata del primer lenguaje que poseía las características de la POO.

Sin embargo, es Smalltalk, que llegó en la década de los setenta, el mejor ejemplo de este tipo de programación, ya que con este desarrollo se logró la generación de toda la teoría en torno a la POO.

Algunos de los ejemplos más conocidos son Java, JavaScript, Pauscal, PHP, PowerScript, Python, Ruby, Visual FoxPro y Visual Basic.

Qué es programación orientada a objetos? - Tecnología + Informática (16)

Existen otros desarrollos de lenguajes de programación orientados a objetos. Algunos de los ejemplos más notables son:

  • ABAP
  • ABL
  • ActionScript
  • ActionScript 3
  • C#
  • Clarion
  • Clipper
  • Object Pascal
  • Delphi
  • Gambas
  • GObject
  • Genie
  • Harbour
  • Eiffel
  • Fortran 90/95
  • Lexico
  • Objective-C
  • Ocaml
  • Perl
  • Smalltalk
  • Swift
  • Magik
  • Vala
  • VB.NET
  • Visual DataFlex
  • Visual Objects
  • XBase++
  • Scala

En la actualidad, puede encontrarse la programación orientada a objetos en diversos ámbitos, aunque lo cierto es que muchos de esos desarrollos actuales suelen ser híbridos, que combinan características de la POO y otros conceptos.

Qué es programación orientada a objetos? - Tecnología + Informática (17)

Ejemplo de estos híbridos son lenguajes tales como C++, OOCOBOL, OOLisp, OOProlog y Object REXX. Estos han sido diseñados en base a un lenguaje de programación clásico, al cual se han añadido extensiones orientadas a objetos.

Ten en cuenta que este universo está en constante cambio y desarrollo, buscando la forma de dar respuesta a las diferentes necesidades que surgen.

Es por ello que la programación orientada a objetos ha dado origen también a la programación orientada a aspectos, conocida también como POA.

Qué es programación orientada a objetos? - Tecnología + Informática (18)

Si bien esta es una metodología que se encuentra en plena etapa de desarrollo y maduración, lo cierto es que cada vez son más los proyectos que se están generando en base a ello.

FAQs

¿Qué es la programación orientada a objetos? ›

La programación orientada a objetos se basa en el concepto de crear un modelo del problema de destino en sus programas. La programación orientada a objetos disminuye los errores y promociona la reutilización del código. Python es un lenguaje orientado a objetos.

¿Que se enseña en programación orientada a objetos? ›

La programación orientada a objetos en un modelo de programación que se caracteriza por organizar el diseño de cada software en función a datos y objetos determinados. La OOP requiere la recopilación y clasificación de todos los datos relacionados a los objetos que los programadores desean utilizar.

¿Cómo se aplica la programación orientada a objetos? ›

Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos.

¿Cuáles son los beneficios de la programación orientada a objetos? ›

Cuando se trabaja con lenguajes de programación orientados a objetos se tiene una mejor idea de dónde buscar el error cuando algo no está funcionando bien. No tienes que ir línea por línea a través de todo tu código. Esa es la belleza de la encapsulación los objetos son autónomos.

¿Cuál es el lenguaje de programación más utilizado en el mundo? ›

Python. Python es uno de los lenguajes de programación más usados actualmente y su uso sigue creciendo. Posee unas características muy potentes: es de código abierto, tiene una sintaxis sencilla y es fácil de entender, por lo que ahorra tiempo y recursos.

Videos

1. Programación Orientada a Objetos
(Informática - UETS)
2. PROGRAMACIÓN ORIENTADA A OBJETOS vs. PROGRAMACIÓN FUNCIONAL
(OpenWebinars)
3. Un poco de historia sobre la programación orientada a objetos - Parte 1
(AaronCB - Multitecnología)
4. Presentación de la asignatura: Programación orientada a objetos
(Universidad Continental - Modalidad a Distancia)
5. Programación Orientada a Objetos explicada
(codigofacilito)
6. Programacion Orientada a Objetos
(Pyarmando Academy)
Top Articles
Latest Posts
Article information

Author: Dong Thiel

Last Updated: 09/29/2022

Views: 6539

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.