Está en la página 1de 7

Índice

Introducción ................................................................................................................................... 2
Paradigma Orientada a Objetos ...................................................................................................... 3
Objeto .......................................................................................................................................... 3
Clase ............................................................................................................................................ 3
Encapsulamiento......................................................................................................................... 4
Polimorfismo ............................................................................................................................... 4
Herencia ...................................................................................................................................... 4
Asociación ................................................................................................................................... 4
Composición o agregación .......................................................................................................... 5
Conclusión ...................................................................................................................................... 6
Bibliografía: .....................................................................................................................................7

1
Introducción
Este reporte de investigación tiene como objetivo explorar en profundidad el Paradigma
Orientado a Objetos, desde sus fundamentos hasta sus aplicaciones posibles en la industria del
software, analizando los principios esenciales que rigen este tema.

En el ámbito de la informática y la programación, los paradigmas son los pilares que sostienen el
desarrollo de software, guiando la forma en que los programadores diseñan y estructuran sus
aplicaciones. Uno de los paradigmas más influyentes y revolucionarios en la historia de la
programación es el Paradigma Orientado a Objetos (POO). Este enfoque no solo ha transformado
la manera en que concebimos y desarrollamos software, sino que también ha dejado una huella
indeleble en la industria tecnológica y en nuestra vida cotidiana.

El Paradigma Orientado a Objetos representa un cambio fundamental en la forma en que


abordamos los problemas y construimos soluciones. Su énfasis en la encapsulación, la
abstracción, la herencia y la polimorfia ha dado lugar a una nueva manera de pensar y crear
software. A medida que la complejidad de las aplicaciones informáticas ha aumentado
exponencialmente en las últimas décadas, el POO ha demostrado ser una herramienta invaluable
para gestionar esta complejidad y lograr un desarrollo más eficiente y mantenible.

Al final de este reporte, esperamos proporcionar una visión clara y completa del Paradigma
Orientado a Objetos, arrojando luz sobre su papel en la evolución de la programación y su
importancia en la resolución de problemas complejos en la actualidad.

2
Paradigma Orientada a Objetos
El paradigma orientado a objetos (OO) tomó su forma a partir del concepto inicial de un nuevo
enfoque de programación, mientras que el interés por los métodos de diseño y análisis llegó
mucho más tarde. El paradigma de análisis y diseño de OO es el resultado lógico de la amplia
adopción de lenguajes de programación OO.

El paradigma OO es una metodología significativa para el desarrollo de cualquier software. La


mayoría de los estilos o patrones de arquitectura, como la canalización y el filtro, el repositorio de
datos y los basados en componentes, se pueden implementar utilizando este paradigma.

A continuación, pasaremos a explicar algunos conceptos clave de esta metodología.

Objeto
Un objeto es un elemento del mundo real en un entorno orientado a objetos que puede tener una
existencia física o conceptual. Cada objeto tiene:

• Identidad que lo distingue de otros objetos del sistema.

• Estado que determina las propiedades características de un objeto, así como los valores de
las propiedades que posee el objeto.

• Comportamiento que representa actividades visibles externamente realizadas por un


objeto en términos de cambios en su estado.

Los objetos se pueden modelar según las necesidades de la aplicación. Un objeto puede tener
existencia física, como un cliente, un automóvil, etc.; o una existencia conceptual intangible, como
un proyecto, un proceso, etc.

Algunos ejemplos de objetos en programación son:

• Persona: con atributos como nombre, edad, altura y métodos como caminar, hablar,
comer.
• Automóvil: con atributos como marca, modelo, color y métodos como acelerar, frenar,
encender.
• Cuenta bancaria: con atributos como saldo, número de cuenta y métodos como depositar,
retirar, consultar saldo.
• Fecha: con atributos como día, mes, año y métodos para obtener y modificar la fecha.

Clase
Una clase representa una colección de objetos que tienen las mismas propiedades características
que exhiben un comportamiento común. Da el plano o la descripción de los objetos que se pueden
crear a partir de él. La creación de un objeto como miembro de una clase se denomina
instanciación. Por tanto, un objeto es un instante de una clase.

Los componentes de una clase son:

• Un conjunto de atributos para los objetos que se van a instanciar desde la clase.
Generalmente, los diferentes objetos de una clase tienen alguna diferencia en los valores
de los atributos. Los atributos a menudo se denominan datos de clase.

3
• Un conjunto de operaciones que retratan el comportamiento de los objetos de la clase. Las
operaciones también se denominan funciones o métodos.

Por ejemplo, si tuvieras la definición de la clase “Perro”; firulais, motitas, princesa y manchas
serían cuatro objetos del tipo o la clase Perro.

Encapsulamiento
La encapsulación es el proceso de vincular atributos y métodos dentro de una clase. A través del
encapsulado, los detalles internos de una clase se pueden ocultar desde el exterior. Permite
acceder a los elementos de la clase desde el exterior solo a través de la interfaz proporcionada por
la clase.

Un ejemplo de encapsulamiento es una clase Cuenta Bancaria que tiene datos como el saldo y el
número de cuenta, y métodos para hacer depósitos y retiros. Estos datos se declaran como
privados para que solo se puedan acceder desde la misma clase, y se usan métodos públicos para
modificarlos

Polimorfismo
El polimorfismo es originalmente una palabra griega que significa la capacidad de adoptar
múltiples formas. En el paradigma orientado a objetos, el polimorfismo implica el uso de
operaciones de diferentes formas, dependiendo de las instancias en las que operan. El
polimorfismo permite que los objetos con diferentes estructuras internas tengan una interfaz
externa común. El polimorfismo es particularmente efectivo al implementar la herencia.

Por ejemplo, si tenemos una clase Animal y varias clases que heredan de ella, como Perro, Gato y
Pájaro, podemos definir un método sonido () en la clase Animal que cada subclase redefina según
el sonido que hace el animal. Así, podemos tener un objeto de tipo Animal que sea en realidad un
Perro, un Gato o un Pájaro y llamar al método sonido () sin saber su tipo exacto.

Herencia
Es un mecanismo que permite crear nuevas clases a partir de las clases existentes ampliando y
perfeccionando sus capacidades. Las clases existentes se denominan clases base / clases padre /
superclases, y las nuevas clases se denominan clases derivadas / clases hijo / subclases.

La subclase puede heredar o derivar los atributos y métodos de la superclase (s) siempre que la
superclase lo permita. Además, la subclase puede agregar sus propios atributos y métodos y puede
modificar cualquiera de los métodos de la superclase. La herencia define una relación "es - a".

Por ejemplo, una clase "perro" heredaría los atributos y métodos de la clase "mamífero", así como
también "gato", "delfín" o cualquier otra subclase. En ejecución, no habrá ningún objeto
"mamífero" que no pertenezca a alguna de las subclases. Así también podríamos tener coche,
autobús, bicicleta, todos ellos perteneciendo a una categoría más amplia denominada “Vehículo”.

Asociación
La asociación es un grupo de vínculos que tienen una estructura y un comportamiento comunes.
Asociación describe la relación entre objetos de una o más clases. Un enlace se puede definir como
una instancia de una asociación. El grado de una asociación denota el número de clases
involucradas en una conexión. El grado puede ser unario, binario o ternario.

4
• Una relación unaria conecta objetos de la misma clase.

• Una relación binaria conecta objetos de dos clases.

• Una relación ternaria conecta objetos de tres o más clases.

Por ejemplo, podríamos tener el atributo «motor» en la clase “Vehículo” para almacenar una
referencia al objeto Motor que necesita para funcionar. Es importante destacar que la relación de
asociación no implica una dependencia entre los objetos. Es decir, si eliminamos uno de los
objetos, el otro objeto seguirá existiendo.

Composición o agregación
La agregación o composición es una relación entre clases mediante la cual una clase puede estar
formada por cualquier combinación de objetos de otras clases. Permite colocar objetos
directamente dentro del cuerpo de otras clases. La agregación se conoce como una relación de
“parte de” o “tiene una”, con la capacidad de navegar desde el todo hasta sus partes. Un objeto
agregado es un objeto que se compone de uno o más objetos.

Por ejemplo, una clase Empleado puede estar compuesta por una clase Persona y una clase
Salario.

5
Conclusión
En este reporte, hemos explorado a fondo el Paradigma Orientado a Objetos (POO), una filosofía
de programación que ha dejado una huella indeleble en el mundo de la informática y la tecnología.
Desde sus fundamentos conceptuales hasta sus aplicaciones prácticas en la industria del software,
hemos examinado cómo el POO ha transformado la forma en que abordamos el desarrollo de
software y resolvemos problemas complejos.

El POO también ha impulsado el desarrollo de lenguajes de programación como Java, C++, y


Python, que se han convertido en pilares en la industria de la tecnología. Estos lenguajes
incorporan los principios del POO y han permitido la creación de aplicaciones sofisticadas y
robustas que abarcan una amplia gama de dominios.

Sin embargo, no todo ha sido un camino de rosas. El POO plantea desafíos, como la necesidad de
diseñar cuidadosamente las jerarquías de clases y la gestión de la complejidad en sistemas
grandes.

A pesar de estos desafíos, el Paradigma Orientado a Objetos sigue siendo relevante y valioso en la
era actual de la tecnología. Su capacidad para organizar y modular el código, su énfasis en la
reutilización y la flexibilidad, y su capacidad para abordar problemas complejos lo convierten en
una herramienta esencial en el kit de cualquier programador.

En resumen, el Paradigma Orientado a Objetos ha sido una fuerza transformadora en la


programación y la informática en general. Su legado perdura en la forma en que diseñamos
software y abordamos la resolución de problemas en un mundo digital en constante evolución. A
medida que continuamos avanzando en la era de la tecnología, es esencial que sigamos explorando
y aprovechando los principios del POO para construir soluciones más efectivas y eficientes.

6
Bibliografía:
Paradigma orientado a objetos. (2023). Edu.lat. https://tutoriales.edu.lat/pub/software-
architecture-design/object-oriented-paradigm/paradigma-orientado-a-objetos

Jiménez, A. (2023, July 30). ¿Qué es un objeto en programación y cómo se utiliza? El Blog de
Python; El Blog de Python. https://elblogpython.com/tecnologia/que-es-un-objeto-en-
programacion-y-como-se-utiliza/

Juventino Ávila Ramos, & Jonathan Bailón Segura. (2023, June). Clases y objetos. Portal
Académico Del CCH. https://portalacademico.cch.unam.mx/cibernetica2/principios-
programacion-orientada-a-objetos/clases-y-objetos

¿Qué es una asociación en programación? - Polaridad.es. (2023, June 22). Polaridad.es.


https://polaridad.es/que-es-una-asociacion-en-programacion/ia.

También podría gustarte