Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

Universidad Tecnológica Del Cibao

Oriental
(UTECO)

Nombre:
Carlos Ramón Otañez Marmolejos

Matricula:
2017-1805

Asignatura:
Lenguaje De Programación II

Tema:
Programación Orientada a Objetos

Profesor:
Carlos Luna

Fecha:
23/ Enero /2023

Cotuí, Provincia Sánchez Ramírez


Año académico 2023
Introducción

La programación orientada a objetos (POO) es un paradigma de programación que, más que

otros tipos de programación (lógica, funcional, imperativa, etc.), está orientada a cómo vemos las cosas en

la vida real.

Este tipo de programación puede resolver algunos de los problemas que han plagado el

desarrollo de software desde el principio, como la falta de portabilidad y la baja reutilización de código,

así como la dificultad de modificación y desarrollo. También es una técnica de codificación más intuitiva

que otros métodos de codificación.

La programación orientada a objetos tiene tres características básicas: debe estar basada en

objetos, debe estar basada en clases y debe ser capaz de preservar la herencia entre clases. La mayoría de

los idiomas cumplen con una o dos de estas características, pero algunos idiomas cumplen con las tres al

mismo tiempo. Sobre todo la herencia.

Más adelante veremos los conceptos de objetos, clases y herencia y otros conceptos relacionados

con Poo.

Aprender esta técnica no es difícil, pero es una forma subjetiva de programar que depende del

desarrollador. Aunque podemos ofrecer diferentes soluciones a un mismo problema, no todas las

soluciones son válidas. La dificultad no está en aprender la tecnología, sino en ejecutarla bien. Solo

programando bien podemos aprovechar todas las ventajas que nos da la programación orientada a objetos.
Origen de la POO

El origen de la programación orientada a objetos (POO) se remonta a la década de 1960, cuando

un grupo de investigadores en informática empezaron a buscar formas de mejorar la programación

estructurada existente. Entre ellos se encuentra Alan Kay, quien en su investigación propuso la idea de

utilizar objetos y mensajes para construir programas.

En 1967, un equipo liderado por David L. Parnas publicó un artículo en el que se proponía la

idea de separar la interfaz de un módulo de su implementación, lo que dio lugar a la idea de

encapsulamiento.

En 1968, el equipo de investigación de POO liderado por Kristen Nygaard y Ole-Johan Dahl en

Noruega, presento el lenguaje de programación Simula 67, que es considerado como el primer lenguaje de

programación orientado a objetos, y el primer que introdujo conceptos como clases y objetos, y la idea de

herencia.

En la década de 1970, los investigadores de POO Alan Kay, Adele Goldberg y su equipo en

Xerox PARC, desarrollaron un lenguaje de programación llamado Smalltalk, que introdujo la idea de

mensajería entre objetos, y que se considera como uno de los primeros lenguajes de programación

orientado a objetos completamente desarrollado.

En resumen, el origen de la programación orientada a objetos es el resultado del trabajo de

varios investigadores en informática que buscaban mejorar la programación estructurada existente, y que

introdujeron conceptos como clases, objetos, herencia, encapsulamiento y mensajería entre objetos.
Definición

La programación orientada a objetos (POO) es un paradigma de programación que se basa en la

idea de que los programas son una colección de objetos que interactúan entre sí. Cada objeto representa

una entidad en el mundo real y tiene un estado y un comportamiento. El estado se refiere a los datos

almacenados en el objeto, mientras que el comportamiento se refiere a las acciones que puede realizar el

objeto.

En la POO, los objetos son instancias de una clase, que es una plantilla para la creación de

objetos. La clase define los atributos y métodos del objeto, y todos los objetos de la misma clase tienen los

mismos atributos y métodos.

La POO también incluye conceptos como la herencia, que permite a las clases heredar atributos

y métodos de clases padre, y el encapsulamiento, que permite ocultar la implementación detallada de un

objeto y exponer solo los aspectos relevantes a otros objetos.

La programación orientada a objetos se utiliza en varios lenguajes de programación, como Java,

C++, Python, y C#. Es una de las formas más populares de programación debido a su capacidad para

modelar la complejidad del mundo real y su facilidad para manejar y organizar grandes proyectos de

software.

Características

 Abstracción: Permite no preocuparse por los detalles de implementación de cada tipo de

dato. Estos toman el nombre de tipos de datos abstractos (TDA), incluidos en los lenguajes Pascal, Ada,
Modula-2 y C++ entre otros. La abstracción está presente en casi todos los lenguajes de programación

actuales. Algunos ejemplos de abstracción son los ya mencionados TDA, las estructuras de datos, los

procedimientos y las funciones.

 Encapsulamiento: Consiste en separar la implementación de los objetos de los objetos en

si. De este modo solo se puede cambiar el estado del objeto mediante las operaciones asociadas al mismo,

sin tener que modificar su código. Así también se evita que el usuario altere su estado de manera

incontrolada.

Esta propiedad también recibe el nombre de “ocultación de la información”. El usuario del

objeto desconoce la distribución de la información dentro del objeto y la información disponible en él.

Pero gracias a los métodos asociados a cada uno puede usarlos y manejarlos. Un ejemplo de

encapsulamiento es el circuito eléctrico de una casa. El usuario solo accede a ciertas partes del circuito

(enchufes e interruptores), aunque las partes del circuito internas comparten información entre si.

 Polimorfismo: Es la posibilidad que ofrece la Poo de asociar a objetos diferentes distintos

métodos con el mismo nombre. Cada objeto actuará en consecuencia según como este implementado el

método. Por ejemplo, el mensaje "+" a un objeto de tipo entero significa suma, mientras que para un

objeto de tipo cadena significaría concatenación.

Cuando esto sucede en tiempo de ejecución, hablamos de asignación tardía o asignación

dinámica. C++ tiene la posibilidad de polimorfismo en tiempo de compilación mediante operadores.

 Herencia: las clases de objetos no están desligadas unas de otras, sino que se relacionan

entre sí, formando una jerarquía. Los objetos heredan las propiedades y el comportamiento de todas las
clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento

permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.

Esto suele hacerse agrupando los objetos en clases y las clases en árboles que reflejan un

comportamiento común. Cuando un objeto pertenece a más de una clase se llama herencia múltiple,

aunque esta característica no está soportada por algunos lenguajes como Java.

Definición de Herencia

La herencia es un mecanismo en la programación orientada a objetos que permite a una clase

heredar los atributos y métodos de otra clase, conocida como la clase padre o superclase. La clase que

hereda se llama clase hija o subclase.

La herencia permite a los desarrolladores reutilizar código existente al crear nuevas clases, ya

que las clases hijas pueden heredar atributos y métodos de las clases padres. Además, la herencia permite

la organización jerárquica de las clases, lo que permite una mejor comprensión y manejo de la

complejidad del código.

La herencia también permite la creación de relaciones "es-un" entre clases, ya que una clase hija

es una especialización de una clase padre. Esto significa que un objeto de una clase hija también es un

objeto de la clase padre, pero con características adicionales.

En resumen, la herencia es un mecanismo en la programación orientada a objetos que permite

reutilizar código existente, organizar jerárquicamente las clases y crear relaciones "es-un" entre clases.
Concepto de Polimorfismo

El polimorfismo es un mecanismo en la programación orientada a objetos que permite que un

objeto de diferentes tipos pueda responder al mismo mensaje o llamada de método. El polimorfismo se

refiere a la capacidad de un objeto para tener varios tipos o formas diferentes.

En otras palabras, el polimorfismo permite que una sola acción o método pueda ser aplicada a

diferentes tipos de objetos de manera diferente. Esto se logra mediante la herencia y la implementación de

interfaces.

Por ejemplo, si una clase Padre tiene un método llamado "dibujar" y varias clases hijas heredan

de él, cada una de las clases hijas puede tener su propia implementación del método "dibujar", diferente a

la de la clase Padre.

El polimorfismo también permite que los objetos sean tratados de manera genérica, es decir, se

pueden tratar como objetos de la clase Padre, independientemente de su tipo específico, lo que facilita el

diseño y la escritura de código.

En resumen, el polimorfismo es un mecanismo en la programación orientada a objetos que

permite que un objeto de diferentes tipos pueda responder al mismo mensaje o llamada de método, y que

los objetos sean tratados de manera genérica. Esto permite una mayor flexibilidad y reutilización del

código.

Concepto de Encapsulamiento

El encapsulamiento es un mecanismo en la programación orientada a objetos que permite ocultar

la implementación detallada de un objeto y exponer solo los aspectos relevantes a otros objetos. El

encapsulamiento se refiere a la capacidad de envolver los detalles internos de un objeto y protegerlos de

accesos no autorizados.
En otras palabras, el encapsulamiento consiste en separar la interfaz de un objeto de su

implementación, de tal manera que solo se expone un conjunto limitado de métodos y atributos (públicos)

a otros objetos, mientras que los detalles internos (privados) quedan ocultos.

El encapsulamiento tiene varios beneficios, entre ellos:

 Permite proteger la integridad de los datos al evitar accesos no autorizados.

 Facilita el cambio de la implementación de un objeto sin afectar a otros objetos que lo

utilizan.

 Ayuda a organizar el código y aumenta la legibilidad y mantenibilidad del mismo.

 Permite crear una abstracción de los detalles internos del objeto, lo que facilita el diseño y

la escritura de código.

En resumen, el encapsulamiento es un mecanismo en la programación orientada a objetos que

permite ocultar la implementación detallada de un objeto y exponer solo los aspectos relevantes a otros

objetos, con el objetivo de proteger la integridad de los datos, facilitar el cambio de la implementación, y

ayudar a organizar y mejorar la legibilidad y mantenibilidad del código.

Que es Abstracción

La abstracción es un principio fundamental de la programación orientada a objetos que se refiere

a la capacidad de enfocarse en los aspectos esenciales de un problema o sistema, ignorando detalles

irrelevantes o secundarios. La abstracción permite modelar la realidad de una manera simplificada y

genérica, lo que facilita la comprensión y resolución de problemas complejos.


En la programación orientada a objetos, la abstracción se logra mediante la creación de clases y

objetos, los cuales representan entidades o conceptos del mundo real. Una clase es una abstracción de una

entidad, y un objeto es una instancia concreta de una clase.

La abstracción también permite crear jerarquías de clases mediante la herencia, de tal manera

que se pueden crear clases más específicas a partir de clases más genéricas, lo que permite modelar la

realidad de una manera más precisa y detallada.

En resumen, la abstracción es un principio fundamental de la programación orientada a objetos

que se refiere a la capacidad de enfocarse en los aspectos esenciales de un problema o sistema, mediante la

creación de clases y objetos que representan entidades o conceptos del mundo real, y la creación de

jerarquías de clases mediante la herencia, lo que facilita la comprensión y resolución de problemas

complejos.

Ejemplos de Programas en C++

Aquí te doy algunos ejemplos de programas sencillos escritos en C++:

1. Hola mundo: Este es un programa básico que imprime "Hola mundo" en la pantalla.

2. Suma de dos números: Este programa lee dos números del usuario y los suma.
3. Factorial de un número: Este programa calcula el factorial de un número ingresado por el

usuario.

Aplicación En El Mundo Real De POO


La Programación Orientada a Objetos (POO) se utiliza ampliamente en el mundo real para

desarrollar aplicaciones de software de diversos tipos, tales como:

1. Aplicaciones de escritorio: Muchas aplicaciones de escritorio modernas, como procesadores de

texto, hojas de cálculo y editores de imágenes, están desarrolladas utilizando POO.

2. Aplicaciones web: Muchas aplicaciones web modernas, como portales de comercio electrónico,

redes sociales y sistemas de gestión de contenido, están desarrolladas utilizando POO.

3. Aplicaciones móviles: Muchas aplicaciones móviles modernas, como juegos, redes sociales y

aplicaciones de productividad, están desarrolladas utilizando POO.

4. Sistemas operativos: Muchos sistemas operativos modernos, como Windows y Mac OS, utilizan

POO para organizar sus componentes y brindar servicios al usuario.

5. Sistemas empresariales: Muchos sistemas empresariales, como sistemas de gestión de inventario,

sistemas de gestión de recursos humanos y sistemas de gestión de cuentas por pagar, están

desarrollados utilizando POO.

En resumen, la POO se utiliza en una gran variedad de aplicaciones

 Ejemplo de algunos objetos dentro de una organización a fin de


aplicarlo en un programa

Algunos ejemplos de objetos dentro de una organización que se pueden aplicar en un programa

son:

 Empleados: se pueden crear objetos para cada empleado que contengan información como su

nombre, ID, salario, departamento, etc.

 Proyectos: se pueden crear objetos para cada proyecto que contengan información como su

nombre, ID, fecha de inicio, fecha de finalización, presupuesto, etc.


 Departamentos: se pueden crear objetos para cada departamento que contengan información como

su nombre, ID, jefe de departamento, número de empleados, etc.

 Productos: se pueden crear objetos para cada producto que contengan información como su

nombre, ID, precio, inventario, etc.

 Clientes: se pueden crear objetos para cada cliente que contengan información como su nombre,

ID, dirección, número de teléfono, historial de compras, etc.

Conclusión

Aunque la programación orientada a objetos ofrece grandes ventajas debido a sus características

como herencia y encapsulación, aún quedan problemas por resolver. No existe un idioma dominante para

eliminar las dependencias entre ellos, y después de meses de trabajo, la definición de la clase puede estar

equivocada. Por otro lado, todos los elementos del programa tenían que ser tratados como objetos, y la

transición a este tipo de programación requirió un reentrenamiento para muchos programadores.

Sin embargo, la dirección de la investigación no se detuvo y comenzó la discusión sobre la

programación orientada a aspectos (POA). Aunque todavía está en sus inicios, cada vez más personas

están interesadas en él.

REFERENCIAS

http://es.wikipedia.org/wiki/Orientado_a_objetos

http://www.monografias.com/trabajos/objetos/objetos.shtml

http://www.desarrolloweb.com/articulos/499.php

También podría gustarte