0% encontró este documento útil (0 votos)
29 vistas12 páginas

Grupo04 Danna Sofia Gahona Articulo Poo

Cargado por

Jhojan Trujillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas12 páginas

Grupo04 Danna Sofia Gahona Articulo Poo

Cargado por

Jhojan Trujillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

UNIVERSIDAD DEL TOLIMA

ELEMENTOS DE PROGRAMACION ORIENTADA A OBJETOS

DOCENTE: ALFREDO ALEXIS GONZALES ORDOÑEZ

DANNA SOFIA GAHONA

Programa: INGENIERIA DE SISTEMAS


Semestre 2
Grupo 4
2023
"Programación Orientada a Objetos y el Paradigma Proactivo en el
Desarrollo de Software"

Resumen:

En este artículo de revisión, se explora la importancia de la Programación


Orientada a Objetos (POO) en el desarrollo de aplicaciones de software. Se
abordan conceptos fundamentales de la POO, como objetos, clases, herencia y
encapsulamiento, y se introduce el paradigma proactivo como una alternativa para
resolver problemas incrementales mediante la interacción entre objetos. Además,
se discuten desafíos y enfoques en la computación proactiva, el diseño de
patrones y las ventajas y desafíos del paradigma proactivo en el desarrollo de
software.

Palabras clave:

Programación Orientada a Objetos, POO, paradigma proactivo, desarrollo de


software, herencia, encapsulamiento.

Introducción:

La Programación Orientada a Objetos (POO) es un paradigma de programación


ampliamente utilizado en el desarrollo de software. Su importancia radica en su
capacidad para organizar y modularizar el código, facilitando la reutilización y
mantenimiento del mismo. En este artículo, exploraremos los conceptos básicos
de la POO y presentaremos el paradigma proactivo como una perspectiva
innovadora para resolver problemas de manera incremental y eficiente en el
contexto de la POO.
Contenido:

1. Conceptos Básicos de la Programación Orientada a Objetos:

La Programación Orientada a Objetos (POO) es un paradigma esencial en la


ingeniería de software. Se basa en la idea de que el mundo puede modelarse
como una colección de objetos que interactúan entre sí. Un objeto es una entidad
que puede contener datos y métodos que operan sobre esos datos. Las clases,
por otro lado, son plantillas o moldes para crear objetos. La POO se centra en la
reutilización de código, la organización y la simplificación del mantenimiento del
software.

1.1 Contexto de la Programación Orientada a Objetos (POO):

La POO se rige por el principio "Don't Repeat Yourself" (DRY), que aboga por no
duplicar código innecesariamente. Al organizar el código en objetos y clases, se
promueve la eficiencia y la coherencia en el desarrollo de software. La
encapsulación y la abstracción son conceptos clave en la POO. La encapsulación
oculta los detalles internos de un objeto y expone solo lo necesario, lo que protege
los datos y garantiza que no se acceda directamente a ellos. La abstracción
simplifica la complejidad al permitir que los desarrolladores interactúen con objetos
de alto nivel sin preocuparse por los detalles internos.

1.1 Definición de objetos y clases:


En la POO, un objeto es una instancia de una clase que contiene atributos y
métodos. Las clases definen las características comunes de los objetos y cómo
interactúan.

1.2 Definición de objetos y clases:

En la POO, un objeto es una instancia de una clase que contiene atributos y


métodos. Las clases definen las características comunes de los objetos y cómo
interactúan.

1.3 Herencia y su papel en la POO:

La herencia permite que las clases hereden atributos y métodos de otras clases, lo
que fomenta la reutilización de código y la organización jerárquica.

1.4 Polimorfismo y su flexibilidad:

El polimorfismo permite que un objeto pueda tomar diferentes formas y responder


de manera adecuada a diferentes situaciones. Facilita la creación de código
flexible y adaptable.

1.5 Encapsulamiento y ocultamiento de detalles:

El encapsulamiento protege los datos y los métodos de una clase, permitiendo un


control preciso sobre el acceso a ellos. Esto mejora la seguridad y la
mantenibilidad del código.

2. Historia y Evolución de la Programación Orientada a Objetos


La Programación Orientada a Objetos (POO) tiene sus raíces en la década de
1960 y ha evolucionado significativamente desde entonces. Comenzando como un
enfoque para la simulación en el lenguaje Simula 67, su desarrollo y expansión
continuaron a lo largo de las décadas.

2.1. Orígenes en Simula 67

En 1967, Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en


Oslo, diseñaron el lenguaje Simula 67. Este lenguaje se creó inicialmente para
realizar simulaciones.

La necesidad de lidiar con la complejidad de las simulaciones, en particular con las


interacciones entre diferentes elementos, fue el catalizador para el desarrollo de la
POO.

Simula 67 introdujo la idea de agrupar objetos en clases, donde cada clase definía
sus propios datos y comportamientos. Esto allanó el camino para la encapsulación
y la reutilización de código, pilares de la POO.

2.2. Evolución en Smalltalk y Xerox PARC

La evolución de la POO continuó en Smalltalk, que se desarrolló en Simula en el


Xerox Palo Alto Research Center (PARC).

Smalltalk se destacó por su dinamismo, permitiendo la creación y modificación de


objetos en tiempo de ejecución, lo que hizo que los sistemas fueran altamente
flexibles.
Esta flexibilidad y capacidad dinámica allanaron el camino para aplicaciones como
las interfaces gráficas de usuario (GUI), donde la POO se convirtió en una
elección natural.

2.3. Dominación en los Años 1980

La POO comenzó a dominar el panorama de programación en los años 1980, en


gran parte debido a la influencia de C++, una extensión del lenguaje C.

La consolidación de la POO fue impulsada por la creciente popularidad de las


interfaces gráficas de usuario, donde la POO demostró ser altamente eficaz.

Se introdujo la programación dirigida por eventos, un enfoque en el que la POO se


destacó.

2.4. Expansión a Otros Lenguajes

La POO se extendió a otros lenguajes de programación existentes en ese período,


como Ada, BASIC, Lisp y Pascal, a través de la adición de características
orientadas a objetos.

Sin embargo, esta integración a menudo resultó en problemas de compatibilidad y


mantenimiento del código.

2.5. Lenguajes Orientados a Objetos Puros y la Era de Internet


Se realizaron intentos para crear nuevos lenguajes basados en métodos
orientados a objetos, que permitieran algunas características imperativas de
manera segura.

El lenguaje Eiffel de Bertrand Meyer fue uno de los primeros ejemplos de estos
intentos, aunque fue reemplazado en gran medida por Java.

La llegada de Internet y la implementación de la máquina virtual Java en la


mayoría de los navegadores web impulsaron la popularidad de la POO.

PHP, en su versión 5, también evolucionó para admitir completamente la


programación orientada a objetos, lo que le permitió seguir siendo relevante en la
era digital.

3. Lenguajes de Programación Orientados a Objetos

La Programación Orientada a Objetos (POO) es un enfoque que se ha


incorporado en diversos lenguajes de programación a lo largo de los años. Estos
lenguajes cumplen con ciertas condiciones que definen su orientación a objetos:

3.1. Características de un Lenguaje Orientado a Objetos

Para ser considerado orientado a objetos, un lenguaje debe cumplir con ciertas
características clave:

Soporta objetos como abstracciones de datos con una interfaz de operaciones con
nombre y un estado local oculto.

Los objetos tienen un tipo asociado, lo que se conoce como una clase.

Los tipos (clases) pueden heredar atributos de los supertipos (superclases), lo que
fomenta la reutilización de código y la organización lógica.
3.2. Ejemplos de Lenguajes Orientados a Objetos

3.2.1. ActionScript

ActionScript es el lenguaje de programación utilizado en la plataforma Adobe


Flash. Fue lanzado públicamente en 1997 y ofrece un sólido modelo de
programación orientada a objetos que es familiar para los desarrolladores con
conocimientos básicos en este paradigma.

3.2.2. C++

C++ se originó en la década de 1980 y fue diseñado por Bjarne Stroustrup. Su


objetivo era extender el lenguaje C para permitir la manipulación de objetos. Se
convirtió en un lenguaje ampliamente utilizado en el desarrollo de sistemas y
aplicaciones de software.

3.2.3. C#

C# fue desarrollado por Microsoft como parte de su plataforma .NET. Diseñado


por Anders Hejlsberg y un grupo de desarrolladores, se introdujo en enero de
1999. C# se ha convertido en un lenguaje importante para el desarrollo de
aplicaciones en el entorno Windows y más allá.
3.2.4. Java

Java, creado por James Gosling de Sun Microsystems y publicado en 1995, es


conocido por su capacidad de ser multiplataforma y su énfasis en la seguridad. Se
utiliza ampliamente en el desarrollo de aplicaciones empresariales y en la
programación de dispositivos móviles.

3.2.5. Objective-C

Originalmente creado como un superconjunto de C, Objective-C se convirtió en un


lenguaje principal de programación para sistemas como Mac OS X, iOS y
GNUstep. Ha sido complementado por el lenguaje Swift en el desarrollo de
aplicaciones para dispositivos Apple.

3.2.6. Perl

Perl, diseñado por Larry Wall en 1987, es conocido por su flexibilidad y su


capacidad para realizar diversas tareas de procesamiento de texto y manipulación
de archivos. Aunque no es un lenguaje puramente orientado a objetos, admite la
programación orientada a objetos a través de módulos y bibliotecas.

3.2.7. PHP

PHP, inicialmente creado por Rasmus Lerdorf en 1995, es ampliamente utilizado


para el desarrollo web del lado del servidor. Si bien comenzó como un lenguaje de
secuencias de comandos, en su versión 5 se agregaron características de
programación orientada a objetos, lo que lo convirtió en una herramienta versátil
para el desarrollo web.

3.2.8. Python

Python es un lenguaje de programación interpretado que enfatiza la legibilidad del


código. Es multiparadigma y multiplataforma, lo que lo hace adecuado para una
variedad de aplicaciones. Guido van Rossum creó Python a fines de la década de
1980.

3.2.9. Ruby

Ruby es un lenguaje dinámico y de código abierto que enfatiza la simplicidad y la


productividad. Fue creado por Yukihiro "Matz" Matsumoto en 1993 y es conocido
por su elegante sintaxis.

3.2.10. Smalltalk

Smalltalk es uno de los primeros lenguajes de programación orientados a objetos


y se caracteriza por su tipado dinámico. Se considera un "mundo virtual de
objetos" donde todo se modela como un objeto.

3.2.11. Scala
Scala es un lenguaje de programación orientado a objetos puro, donde cada valor
es un objeto. Utiliza clases y traits para describir el tipo y el comportamiento de los
objetos.

Conclusiones:

La Programación Orientada a Objetos (POO) ha desempeñado un papel


fundamental en la evolución de la informática y el desarrollo de software. Desde su
origen en Simula 67 hasta su adopción generalizada en lenguajes como C++, Java
y Python, la POO ha demostrado ser un paradigma versátil y poderoso que facilita
la resolución de problemas complejos.

Además, la presencia de lenguajes de programación orientados a objetos en la


industria tecnológica, como Java, C#, Python y otros, subraya la importancia de la
POO en el ámbito profesional. Los programadores que dominan este paradigma
tienen una ventaja competitiva en el mercado laboral y pueden aplicar buenas
prácticas de programación en proyectos del mundo real.

En conjunto, la Programación Orientada a Objetos continúa siendo un elemento


central en la informática moderna. Su historia rica y sus diversas aplicaciones en
la educación y la industria confirman su relevancia perdurable en el mundo de la
tecnología y el desarrollo de software.

Bibliografía

 Pérez S. (26 de Noviembre de 2021) QUÉ ES LA PROGRAMACIÓN


ORIENTADA A OBJETOS. Intelequia. https://intelequia.com/blog/post/qu
%C3%A9-es-la-programaci%C3%B3n-orientada-a-objetos
 Guasca Sofia (1 de Agosto de 2020) HISTORIA Y EVOLUCIÓN DE LA
PROGRAMACIÓN ORIENTADA A OBJETOS. WordPress
https://sofia5909.wordpress.com/2020/08/01/historia-y-evolucion-de-la-
programacion-orientada-a-objetos/

 Laura Álvarez, Helmer Avendaño, Yeison García, Sebastián Morales,


Edwin Bohórquez, Santiago Hernandez, Sebastián Moreno, Cristian Orjuela
(UNAL 2017). GitHub https://ferestrepoca.github.io/paradigmas-de-
programacion/poo/poo_teoria/index.html#advantage_disadvantage

También podría gustarte